vb怎么提取文本文件每行vb取出字符串中的字符指定字符

13:38 提问
请问这个正则表达式应该怎么修改才能实现截取最靠近中间字符的某个字符串开始截取字符
后端VB写程序提取网站的数据。要提取网页代码中的数据,网页基本格式如下
《li》姓名:张三《/li》
《li》年龄:35《/li》
《li》职业:教师《/li》
《li》分数:99《/li》
我就要提取分数进行统计,我写的正则表达式内容为《li 》[^\x00]+?分数[^\x00]+?《/li》
提取出来都带有姓名等不必要的信息,提出来是
《li》姓名:张三《/li》
《li》年龄:35《/li》
《li》职业:教师《/li》
《li》分数:99《/li》
这样后期还要再进行按《/li》分割字符再筛选。虽然结果可以出来,但是不是很喜欢。请问怎么改正则定义才能实现只从最靠近"分数"的《li》字符开始提取,提取出来就是《li》分数:99《/li》这段就好了。
不是只提取数字呀,要一整段《li》分数:99《/li》,就是《li》需要最靠近分数左边的这个
补充:我不是要文本内容,我要截“分数”所在的网页源代码,我现在写的正则把网页源码中出现的第一个“姓名”开始到“分数”后面的给我返回来了。我不知道怎么改成只返回“分数”左边的(就是事列代码中地4个)到“分数”右边的第一个
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
/// 指定开始字符串和结束字符串,截取中间的字符
/// 要截取的字符串
/// 开始字符串
/// 结束字符串
public static string GetValue(string str, string s, stri
NSString *middleS
//获取中间的字符串
NSString *frontStr = @&id&;
//从该字符开始
NSString *behindStr = @&?&;
//到该字符结束NSR
range.location = [string rangeOfString:frontStr].location + frontStr
实现的方法有很多种,在不考虑执行效率的情况下,这里贴出来一个最小白,但是最容易懂的方法:
$a = &123@abc#456&;
$b= (strpos($a,&@&));
$c= (strpos($a,&#&));
echo substr($a,$b+1,$c-1);
我有个字符串比如a=&abcdanmcadedcdeefako&那么我怎么能得到一个数组,其中数组的各项是字母a和c的中间字符,即第一项是&b&第二项&nm&第三项&ded&
下面是C#写的,java也可以适用
static void Main(string[] args)
string a = &abcdanmcaded
要求:A.数据库表中的一个字符串 可能含有&+& 例:ORC+001
  也可能不含“+”
  B.要求如果该字符串含有“+”,则取“+”之前的字符 例:ORC+001 取ORC
  C.如果该字符串不含&+&,则直接取该字符串。
  解答:利用ORACLE中 INSTR,SUBSTR以及CASE WHEN语法即可实现。
  Oracle中函数
  INSTR:
$newa = substr($str,0,strrpos($str,'$'));
获取某个字符串中某一部分的字符内容,通常大家会首先想到使用String.substring方法,但String.substring方法对于某些包含特殊字符和HTML标签的处理不是很完善。例如如下字符串,想要获取sign中的字符,用String.subString方法虽然也能拿到sign中的内容,但有缺陷....
String str=&
&&subject=\&
最近写项目用到随机字符串,然后从随机串中截取一段,查阅了资料后总结如下;
随机生成一个120个字符组成的字符串:
var randomStr = &&
println(&start:&)
for i in 1 ... 120{
var num = 48 + arc4random()%74 //自定义ASCII码范围从48到
一个最常用的场景 截取两上wp
截取2个指定字符之间的字符串:/**
* 截取字符串str中指定字符 strStart、strEnd之间的字符串
* @param string
* @param str1
* @param str2
public static String subString(String str, S如何用vb读取txt文件,指定的某行 赋给字符串变量?_百度知道
如何用vb读取txt文件,指定的某行 赋给字符串变量?
如何用vb读取txt文件,指定的某行 赋给字符串变量?下面的例子是依次读完每行.
Dim TextLine
Open app.path & &\aa.txt& For Input As #1 ' 打开文件。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, TextLine ' 读入一行数据并将其赋予某变...
我有更好的答案
'先在代码里加如下 FunctionPrivate Function GetTxt(TxtPath As String) As StringDim i As Integer: i = FreeFileOpen TxtPath For Input As #i
GetTxt = StrConv(InputB(LOF(i), i), vbUnicode)Close #iEnd Function'需要的时候: MsgBox Split(GetTxt(&这里改成文件路径&), vbCrLf)(行号-1)'如,显示 C:\1.txt 中的第3行内容'MsgBox Split(GetTxt(&C:\1.txt&), vbCrLf)(2)
采纳率:30%
貌似只能这样读取后判断。。
……还有什么问题呢vb读文件是顺序的。不是随机的。所以要读某行就必须把前面的所有行读完。
VBA 中根本没有替换某行的代码,只有把整个文本全部读出来,替换某行,然后再把文件以覆盖方式全部写回去。Public Function ReplaceLine(fName As String, LineNumber As Long, LineText As String) As Boolean
'功能:
从指定的文本文件替换指定的行的数据
'参数:
完整的文本文件路径名+文件名
LineNumber
要替换的行数(数字)
='要替换的字符文字
'返回:
为正确执行,
其它失败错误
'需要:
'Example: 把C目录下的MYFILE.TXT的第三行的文本替换为 Abcde
ReplaceLine(&C:\Myfile.txt&,
3,&Abcde&)
'作者MSDN中的ewang11
'______________________________________________________________Dim oFSO
As New FileSystemObject
As Scripting.TextStream
As String, sLine
Dim bLineFound
As Boolean
If oFSO.FileExists(fName) Then
Set oFSTR = oFSO.OpenTextFile(fName)
Do While Not oFSTR.AtEndOfStream
sLine = oFSTR.ReadLine
If lCtr && LineNumber Then
sTemp = sTemp & sLine & vbCrLf
sTemp = sTemp & LineText & vbCrLf
bLineFound = True
lCtr = lCtr + 1
oFSTR.Close
Set oFSTR = oFSO.CreateTextFile(fName, True)
oFSTR.Write sTemp
ReplaceLine = bLineFound
End IfoFSTR.Close
Set oFSTR = Nothing
Set oFSO = Nothing
End Function调用这个函数时如下面Call ReplaceLine(CurrentProject.Path & &\Myfile.txt&, 3, &abcd&) or Dim Str As Boolean Str = ReplaceLine(CurrentProject.Path & &\Myfile.txt&, 3, &78596&)或者参考下面代码,自己学习一下VB操作文本文件的方法很多,下面的例子是我自己作项目或者回答网友提问时做的,很有代表性,希望能够给各位朋友一些启发. &功能:删除、替换文本中一行,或者插入内容到文本中某一行 &作者: soho_andy (冰) &参数: &strSourceFile 原始文件完整名 &strTargetFile 生成新文件的完整名 &intRow 操作的行数 Sub 操作文件中一行(strSourceFile As String, strTargetFile As String, intRow As Long) Dim filenum As Integer Dim fileContents As String Dim fileInfo() As String Dim i As Integer Dim j As Integer filenum = FreeFile Open strSourceFile For Binary As #filenum fileContents = Space(LOF(filenum)) Get #filenum, , fileContents Close filenum fileInfo = Split(fileContents, vbCrLf) &取出源文件行数,按照回车换行来分隔成数组 filenum = FreeFile If Dir(strTargetFile, vbNormal) && && Then Kill strTargetFile End If Dim Filestr() As String &删除一行代码块 Open strTargetFile For Append As #filenum &循环每一行 For i = 0 To UBound(fileInfo) - 1 If i && intRow - 1 Then Print #filenum, fileInfo(i) End If Next Close #filenum &替换一行代码块 Open strTargetFile For Append As #filenum &循环每一行 For i = 0 To UBound(fileInfo) - 1 If i = intRow - 1 Then Print #filenum, &你要替换进去的内容& End If Next Close #filenum &插入一行代码块 Open strTargetFile For Append As #filenum &循环每一行 For i = 0 To UBound(fileInfo) - 1 If i = intRow - 1 Then Print #filenum, &你要插入到这行的内容& Print #filenum, fileInfo(i) &保留原来的行,位置后移一位 End If Next Close #filenum MsgBox &完毕& End Sub
其他1条回答
为您推荐:
其他类似问题
txt文件的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
后知后觉的一个人!
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(2569)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_094067',
blogTitle:'VB常用字符串操作函数(转)',
blogAbstract:'1. ASC(X),Chr(X):转换字符字符码 [格式]: P=Asc(X) 返回字符串X的第一个字符的字符码 P=Chr(X) 返回字符码等于X的字符 [范例]: (1)P=Chr(65) ‘ 输出字符A,因为A的ASCII码等于65 (2)P=Asc(“A”) ‘ 输出65 2. Len(X): 计算字符串X的长度 [格式]: P=Len(X) [说明]: 空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算一个字符。 ',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:9,
publishTime:1,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'后知后觉的一个人!',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}删除文本文件中字符串,文本字符串-记住吧
删除文本文件中字符串
jazdbmin1639整理
vb文件字符串搜索
文本字符串
java如何根据指定字符串删除文本文件中的相应一行
可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到的内容,之后通过if判断出符合条件的重写如新文件,不符合的直接舍弃即可。 举例:BufferedReader bre =OutputStreamWriter pw =//定义一个流try {String file = "D:/test/test.txt";bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环{if(str.indexOf("排除")<0){//判断是否需要舍弃pw.write(str);//将要写入文件的内容,可以多次write}}bre.close();//关闭流pw.close();//关闭流备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
java中如何实现删除文本文档里面的指定字符
给分:亲,要读入的文件自己建哦源代码:import java.io.InputSimport java.io.BufferedRimport java.io.BufferedWimport java.io.FileRimport java.io.FileWimport java.util.Simport java.io.FileNotFoundEimport java.io.IOEpublic class zifutihuan{ protected static void rep(String ch) {BufferedReader bis =FileWriter bos =String s = try{ bis = new BufferedReader(new FileReader("1.txt"));bos = new FileWriter("2.txt");while(null != (s = bis.readLine())){s = s.replaceAll(ch,""); System.out.println(s);s= s+"\r\n";bos.write(s);}bos.close();bis.close();s =} catch(FileNotFoundException e) {System.out.println("未找到文件\n"); } catch(IOException ee) {System.out.println("aaa"); }} public static void main(String args[]) { rep("123"); }}
编写一个java程序,从一个文本文件中删除掉所有出现某个指定字符串的地方
思路:IO文件读写流将文件文本内容读取到程序通过[真正表达式]替换重新写入文件关闭读写流
C语言怎么在文本文件中插入或删除字符串?比如我有一个文本文件内容
磁盘文件是用实际物理空间存放数据的,删除和添加内容远没有数组操作方便。针对你的具体要求,可以将文件内容读入内存,修改后再重写。
如何用批处理删除文本文件中每行后面的字符串
@echoofffor/f"delims=|"%%ain('typetest.txt')doecho%%apause追问:怎么保存到另一个文件呢追答:@echoofffor/f"delims=|"%%ain('typetest.txt')doecho%%a>b.txtpause追问:谢谢啦Www.JizHu※BA.com
shell文本文件处理删除每行前两个字符
sed-i's/^..//'file.txt使用了sed的正则替换命令,格式为 s/A/B/其中,A为正则表达式,^ 匹配行首位置,点号 . 匹配任意一个字符。这里即将行首的前两个字符替换为空。
小提示:内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
vb文件字符串搜索 推荐文章:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
推荐不满意?点这里&&>>&&雷速体育发帖软件开发QQ
欢迎加入我们,一同切磋技术 &
用户名: &&&
密 码: &
共有 7531 人关注过本帖
标题:vb提取TXT指定内容字符,保存到另外的 TXT文件里
等 级:新手上路
帖 子:110
结帖率:75%
&&问题点数:0&&回复次数:10&&&
vb提取TXT指定内容字符,保存到另外的 TXT文件里
vb提取&&A.txt&&指定内容字符,保存到另外的 b.txt文件里,一行一条,请大家给指点下
搜索更多相关主题的帖子:
等 级:新手上路
帖 子:110
请高人指定下
来 自:湖北武汉
等 级:业余侠客
帖 子:176
专家分:267
我告诉你个思路
可以先读取整个a.text&&再搜索你需要的字符串&&&然后写入b.text
&&&全世界都颓废了,我拿什么对它说“不”!
等 级:新手上路
帖 子:110
请教下, 能写个 代码吗
我想&&提取 TXT 里 指定的内容,是循环查找指定的内容,如果找到 就把 一行全 保存到 另个 TXT文件里
等 级:小飞侠
帖 子:348
专家分:2026
dim&&str1 as string ,flag as integer,str2 as string
open a.txt for input as #1
open b.txt for output as #2
do while&&not eof(1)
line input #1,str1
flag=instr(str1,指定内容)
if flag&&0 then
str2=str2+str1
write #2,str2
不知道对不对?呵呵
等 级:新手上路
帖 子:110
谢谢,兄弟,你这个 代码,不好用
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
等 级:新手上路
帖 子:110
A.txt&&内容如下,我就是要搜索 一个关键字,如果搜索到了就把”关键字“这一行所在的 第一个”/“符号前面的字符(淘宝的ID),全都提取出来,保存到B。TXT里&&,这个主要是 根据 游戏的 区和服务器,把客户分出来
海带_/ 18:01:39/100.00/网趣旗舰店/双皇冠 地下城与勇士游戏币 DNF 网通 华北三区 华北3区 2200W
_娃娃愛美丽/ 05:11:37/55.00/johnnyshol/【有现货】DNF 北京一区 地下城与勇士游戏币 北京1区 1000W=55元
lb/ 21:44:34/100.00/johnnyshol/【现货】DNF 西南区 地下城与勇士游戏币 西南一区 元
0510xwp/ 23:05:17/27.50/网趣旗舰店/双皇冠 地下城与勇士游戏币&&DNF 电信 上海一区 上海1区 500W
0woaiyouxi0/ 01:02:37/1.00/johnnyshol/地下城与勇士游戏币地下城与勇士金币DNF游戏币全区全服有货
jiao/ 22:14:40/1.00/水浒店/【皇冠信誉】DNF游戏币地下城与勇士游戏币方便一元贴 1元
he/ 12:18:02/0.55/梦里网商/【双皇冠】DNF江苏一区 地下城与勇士游戏币 电信区 江苏1区 10万
09.07.13 05:53:17/100.00/johnnyshol/地下城与勇士游戏币DNF游戏币华北一区DNF华北1区游戏币1760万
cm/ 19:12:05/48.00/johnnyshol/【有现货】DNF 四川二区 地下城与勇士游戏币 四川2区 1000W=48元
09.08.10 02:06:41/0.10/ljh440522/钻石信誉 地下城与勇士 DNF金币 dnf游戏币 山东三区 现货
1峰老/ 15:44:07/40.00/网趣旗舰店/【双皇冠信誉】地下城与勇士DNF游戏币 电信 湖南四区 1000W
2008shane/ 23:19:50/0.40/梦里网商/【双皇冠】DNF江西一区 地下城与勇士游戏币 电信区 江西1区 10万
2008wangqi_.26 23:40:30/1.00/梦里网商/[梦里网商]梦里网络 DNF游戏币地下城与勇士游戏币 一元1元拍
2008yundong/ 20:55:56/50.00/johnnyshol/【现货】DNF 福建1区 地下城与勇士游戏币 福建一区 1000W=50元
09.08.12 15:05:17/22.00/网趣旗舰店/双皇冠 地下城与勇士游戏币&&DNF 电信 西北一区 西北1区 500W
qq/ 05:45:32/22.00/网趣旗舰店/【双皇冠信誉】地下城与勇士DNF游戏币 电信 西北一区 500W
qwe/ 12:23:52/1.00/梦里网商/[梦里网商]梦里网络 DNF游戏币地下城与勇士游戏币 一元1元拍
love/ 13:22:39/1.00/hld35/地下城与勇士全区全服游戏币 此贴仅为老客户购买专用
qqcom/ 13:51:32/0.54/梦里网商/【双皇冠】DNF 辽宁一区 地下城与勇士游戏币 网通区 辽宁1区10万
9.08.10 03:03:47/25.00/网趣旗舰店/双皇冠 地下城与勇士游戏币&&DNF 电信 上海三区 上海3区 500W
gjx/ 02:40:28/48.00/网趣旗舰店/【双皇冠信誉】地下城与勇士DNF游戏币 网通 河北一区 1000W
2区专卖/ 12:00:43/0.47/梦里网商/【双皇冠】DNF四川二区地下城与勇士游戏币 电信区 四川2区10万
zp/ 22:44:13/1.00/网趣旗舰店/【双皇冠信誉】地下城与勇士DNF游戏币&&全区全服顾客协议价&&1元
3189998zcyb/ 10:26:54/0.10/ljh440522/钻石信誉 地下城与勇士 DNF dnf 游戏币 河北一区 金币 拍前联系
宁宁/ 08:41:17/5.00/水浒店/【皇冠信誉】DNF西北一区地下城与勇士游戏币电信西北1区100w
a/ 21:39:01/6.30/hld35/【量大优惠&DNF】地下城游戏币金币上海2区上海二区 100W
qq/ 07:12:35/53.00/johnnyshol/【现货】DNF游戏币 西北1区 地下城与勇士游戏币 西北一区 1000W
[ 本帖最后由 wuyuede 于
23:59 编辑 ]
来 自:湖北武汉
等 级:业余侠客
帖 子:176
专家分:267
下面是搜索关键字的代码:
Private TargetPosition As Integer
Private Sub FindText(ByVal start_at As Integer)
Dim pos As Integer
Dim target As String
target = Text2.Text
pos = InStr(start_at, Text1.Text, target)
If pos & 0 Then
TargetPosition = pos
Text1.SelStart = TargetPosition - 1
Text1.SelLength = Len(target)
Text1.SetFocus
MsgBox &没找到!&
Text1.SetFocus
Private Sub command1_Click()
FindText 1
Private Sub command2_Click()
FindText TargetPosition + 1
接下来的读取&\& 以前的字符串 相信你可以搞定
&&&全世界都颓废了,我拿什么对它说“不”!
等 级:蝙蝠侠
帖 子:190
专家分:914
看看以下代码!作个参考!
Private Sub Form_Load()
Open &c:\A.txt& For Input As #1
&&& a = StrConv(InputB(LOF(1), 1), vbUnicode)
&&& Text1.Text = a
Private Sub Command1_Click()
str1 = Text1.Text&&&
str2 = Text2.Text&&在Text2中输入关键字
str3 = &/&
Do While Len(str1) & 50
where1 = Len(str1)
where2 = InStr(str1, str2)
where3 = InStr(str1, &/&)
where4 = InStr(str1, vbCrLf)
result = Mid(str1, 1, where3) & vbCrLf
Text3 = Text3 & result&&&&&Text3 为结果,把它保存到.txt中就行了
str1 = Mid(str1, where4 + 1, where1 - where4)
版权所有,并保留所有权利。
Powered by , Processed in 0.079058 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved}

我要回帖

更多关于 vb取出字符串中的字符 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信