vb instr left rignt 取text某些值

来源:百度知道 编辑:UC知道 时间:2024/04/28 17:04:36
例:
text1 545fds5156\4441fdsaf61\151fdaf9411\16515fdaf1\
我要把我要把\俩边的数都一段段的提出来,
但是又不知道文本里出现多少个\

声明,只能用instr left rignt实现.不然不给分.呵呵
不管字母还是数字,提出来为换行文本,每一段为一行
545fds5156\4441fdsaf61\151fdaf9411\16515fdaf1\
提出来后就为
545fds5156
4441fdsaf61
151fdaf9411
16515fdaf1

注意哦.有多少段不知道哦.这只是例子

是的,只能用instr left right ,呵呵

Inpool 你的不行啊。

'需控件:Command1,Text1,Text2
'Text2 用于显示结果,预先在属性窗口设置属性 MultiLine 为 True,属性 ScrollBars 为 3
Private Sub Form_Load()
Text1 = "545fds5156\4441fdsaf61\151fdaf9411\16515fdaf1\"
End Sub
Private Sub Command1_Click()
'将 nStr 中的所有 OldStr 替换为 NewStr
Dim nStr As String, OldStr As String, NewStr As String
Dim S As Long, S1 As Long, sOld As Long, sNew As Long

nStr = Text1
OldStr = "\"
NewStr = vbCrLf '回车换行符
sOld = Len(OldStr): sNew = Len(NewStr)
S = 1
Do
S1 = InStr(S, nStr, OldStr, 1)
If S1 = 0 Then Exit Do
' 前面 新字符 后面的的
nStr = Left(nStr, S1 - 1) & NewStr & Right(nStr, Len(nStr) - S1 - sOld + 1)
'用下面的一句子替换上面一句也可:
'nStr = Left(nStr, S1 - 1) & NewStr & Mid(nStr, S1 + sOld)
S = S1 + sNew