关于VB6.0从一个字符串提取字符串的问题
onclick='Odds(942057)'我的文本里面有很多个类似于这个样子的!我想把后面所有后面的数字全部提出来!应该怎么做呢?谢谢各位了!顺便说一下我是做一个网页解...
onclick='Odds(942057)'
我的文本里面有很多个类似于这个样子的!我想把后面所有后面的数字全部提出来!
应该怎么做呢?
谢谢各位了!
顺便说一下我是做一个网页解析的程序!所以会有很多“=”和 “onclick”的之类的!尽可能可以严谨点! 展开
我的文本里面有很多个类似于这个样子的!我想把后面所有后面的数字全部提出来!
应该怎么做呢?
谢谢各位了!
顺便说一下我是做一个网页解析的程序!所以会有很多“=”和 “onclick”的之类的!尽可能可以严谨点! 展开
展开全部
按楼主的意思,必须先用文字匹配的方式逐个找出onclick所在的位置,然后从这个位置开始往后一个字符一个字符找到括号和单引号为止,截取取来再进行分析。楼上各位说的都是截取后分析的方法,再加上这个字符寻找的方法就OK了。
语法
InStr(start,string1,
string2, compare)
说明
start
可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果
start 包含 Null,将发生错误。如果指定了
compare 参数,则一定要有 start 参数。
string1
必要参数。接受搜索的字符串表达式。
string2
必要参数。被搜索的字符串表达式。
Compare
可选参数。指定字符串比较。如果
compare 是 Null,将发生错误。如果省略 compare,Option
Compare 的设置将决定比较的类型。指定一个有效的LCID (LocaleID)
以在比较中使用与区域有关的规则。
compare 参数设置为:
vbUseCompareOption
-1
使用Option Compare 语句设置执行一个比较。
vbBinaryCompare
0
执行一个二进制比较。
vbTextCompare
1
执行一个按照原文的比较。
vbDatabaseCompare
2
仅适用于Microsoft
Access,执行一个基于数据库中信息的比较。
返回值
string1 为零长度
0
string1 为 Null
Null
string2 为零长度
Start
string2 为 Null
Null
string2 找不到
0
在 string1 中找到string2
找到的位置
start > string2
0
语法
InStr(start,string1,
string2, compare)
说明
start
可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果
start 包含 Null,将发生错误。如果指定了
compare 参数,则一定要有 start 参数。
string1
必要参数。接受搜索的字符串表达式。
string2
必要参数。被搜索的字符串表达式。
Compare
可选参数。指定字符串比较。如果
compare 是 Null,将发生错误。如果省略 compare,Option
Compare 的设置将决定比较的类型。指定一个有效的LCID (LocaleID)
以在比较中使用与区域有关的规则。
compare 参数设置为:
vbUseCompareOption
-1
使用Option Compare 语句设置执行一个比较。
vbBinaryCompare
0
执行一个二进制比较。
vbTextCompare
1
执行一个按照原文的比较。
vbDatabaseCompare
2
仅适用于Microsoft
Access,执行一个基于数据库中信息的比较。
返回值
string1 为零长度
0
string1 为 Null
Null
string2 为零长度
Start
string2 为 Null
Null
string2 找不到
0
在 string1 中找到string2
找到的位置
start > string2
0
展开全部
网页程序源代码里面会有很多的数字,可能有些数字并不是你需要的吧?!那你就在你需要的数字堆里面找一找规律!比如数字的周围都是固定的 【onclick='Odds(942057)】或其它的某种规律可循的状态,那通过编程来筛选就好办了! 没有规律,实现起来会很费劲的!
更多追问追答
追问
所以我就是想知道要怎么筛选了...onclick='Odds()这个就是固定的了!你可以帮我写出来吗?分数不够我可以加!
追答
我需要一个包含源代码的TXT文件~~ 请E-Mail到:7657176@qq.com
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么简单的问题?
s=“onclick='Odds(942057)'";
s=Replace(s,"(","=")
s=Replace(s,")","=")
r=Split(s,"=")
if r[0]=="onclick" then
MsgBox r[2]
end
s=“onclick='Odds(942057)'";
s=Replace(s,"(","=")
s=Replace(s,")","=")
r=Split(s,"=")
if r[0]=="onclick" then
MsgBox r[2]
end
追问
我里面有好多类似这种的哦!我想把所有的数字都提取出来放到数组中要怎么样弄呢
追答
先建立个数组啊,每执行上面的过程一次,数组下标就增加1,给当前数组赋值,一直循环下去就行啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
示例,如你的文本放在Text1框中,搜索后的结果放在Text2文本框中。
Private Sub Command1_Click()
Dim I, X As Long
Dim Num, Y As String
X = Len(Text1.Text)
For I = 1 To X
Y = Mid(Text1, I, 1)
If IsNumeric(Y) Then Num = Num & Y
Next I
Text2.Text = Num
End Sub
Private Sub Command1_Click()
Dim I, X As Long
Dim Num, Y As String
X = Len(Text1.Text)
For I = 1 To X
Y = Mid(Text1, I, 1)
If IsNumeric(Y) Then Num = Num & Y
Next I
Text2.Text = Num
End Sub
更多追问追答
追问
我这个是网页解析用途的呀!里面不单单就这几个字符和数字的!你这样是不得的...
追答
这只是一个示例,你的文本放在什么地方?如果的记事本中,可以一次读一行文本,再按这个代码的形式,把这一行中的数字提出来,写入另一个记事本中,道理是相通的。只是我不知道你的原始文本在哪?所以写了这样的示例
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-18
展开全部
直接用val算了
非数字部分都会忽略掉
比如:val("abc=10")=10
val("")=0
非数字部分都会忽略掉
比如:val("abc=10")=10
val("")=0
更多追问追答
追问
我这个是网页解析用途的呀!里面不单单就这几个字符和数字的!你这样是不得的..
追答
那你就拿几个有代表性的出来啊,onclick='Odds(942057)'
类似这样的怎么会不行?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询