例如textbox中的代码是: a:"我",b:"爱",c:"你的",
获取我,爱,你 这3个字我知道代码是这样的:
Mid(Text1.Text, InStr(Text1.Text, "ini:") + N, n),主要这里的问题是,如何获取这3个双引号的位置,换句话,就说我要获取a,b,c这3个双引号里面的内容,不管这个内容有多长,如果像上面的代码是要看字符的长度。实现的目的就是获取这3个内容:
a:"到“我”字后面的"引号内的内容
b:"到“爱”字后面的"引号内的内容。如何实现?
Function InStr([Start], [String1], [String2], [Compare As VbCompareMethod = vbBinaryCompare])
返回在另一字符串中第一次出现某一字符串的位置
eg: msgbox instr("a:"":我""",":") 结果为 2
Function InStrRev(StringCheck As String, StringMatch As String, [Start As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare]) As Long
返回在另一字符串中第一次出现某一字符串的位置 从后面查找
MsgBox InStrRev("a:"":我""", ":") 结果为 4
Function Join(SourceArray, [Delimiter]) As String
把数组转换成字符串 可查下
eg: 有数组 a()={"123","234","345"}'这里的语法在vb中不能用 vb.net 可以
join(a,"b") 结果为 123b234b345
Function Split(Expression As String, [Delimiter], [Limit As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare])
把字符串分成 数组 与Join 相反
eg:有字符串 “123b234b345”
dim a()
a=Split("123b234b345","b")
结果为: a()={"123","234","345"}
然后 就是你用过的 mid left right replace 等等 其实上面的几个查找函数 基本 就能解决你的问题了
来自:求助得到的回答不行啊,你的太专业了,我看不懂代码
好厉害,就是这个
能给一下解说吗
追答我这是直接取中文,后来一想你引号里要不是中文怎么办,就想来补充了,正好那你追问了,唉,玩了一天的游戏,一时也没好方法,要么你试试查找引号,查找方法是""",还要区分全角和半角...
追问查找引号不行的,就像我的例子,a后面的引号和b后面的引号位置不同
追答你要都是半角引号的话就好办了,试试用Split,然后取字符数组
追问我说的例子能写个代码实现一下吗,2个文本控件,定义3个变量a,b,c,在text2输入:a=我,b=爱,c=你的 ,后面的值就是引号内的内容
追答呵呵,书生的回答就是我说的,不给代码你是不采纳^_^