vb instr left rignt 取text某些值

例:
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
Loop
Text2 = nStr '显示到 Text2
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-10-12
字母要不要?你举个例子,提取出来是什么样的?

只能用instr left right 么? 一个split就好了嘛!!

用数组算不算犯规??
用了数组,只是用来记数

Option Explicit

Private Sub Command1_Click()
Dim myStr As String, sum As Integer
Dim i As Integer, a() As Integer, k As Integer
On Error Resume Next
myStr = "545fds5156\4441fdsaf61\151fdaf9411\16515fdaf1\"
Do
i = InStr(i + 1, myStr, "\")
ReDim Preserve a(k)
If k = 0 Then
a(k) = i - 1
sum = sum + i
Print Right(Left(myStr, i - 1), a(k))
Else
a(k) = i - sum - 1
sum = sum + a(k) + 1
Print Right(Left(myStr, i - 1), a(k))
End If
k = k + 1
Loop While i <> 0
End Sub
第2个回答  2008-10-12
function abc(aa)
dim temp=aa
dim start=0,n=0

'先计算字符串的长度(如果没有限制,可直接用len)
while(left(temp,n)<>temp)
n=n+1
wend

'开始分割
while temp <> ""
abc=abc&left(temp,instr(temp,"\")-1)&"\n"
temp=right(temp,n-instr(temp,"\")+1)
wend

end function

使用txt=abc(text1)即是你想要的结果

vb instr left rignt 取text某些值
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, ...

VB 截取字符串的内容
VB的Right函数、Left函数提供了从左或从右在已知字符串中截取指定数量的未知字符串的功能,不过要获取某个特定字符前面或者后面的字符串,情形就不一样了,比如我们要在字符串"E:\\MyFavourite\\001\\xxx.xxx"中截取最后一个"\\"后面的字符串亦即文件名,单单用上述几个函数是难以实现的,因为文件名的字...

如何用vba提取文本txt指定内容
1,VB读写文本文件。可以实现你的读取文本文件的要求。2,VB的字符串函数。常用函数:Left、Right、Mid、Instr 等函数。

,vb做计算器、提取text中某一段字符
Private Sub Command1_Click() If InStr(Text1.Text, "+") <> 0 Then a = Left(Text1.Text, InStr(Text1.Text, "+") - 1) b = Mid(Text1.Text, InStr(Text1.Text, "+") + 1) Print Val(a) + Val(b) End IfEnd Sub ...

vb取出指定字符前面的数字? 比如 “真光路798弄33号201室”,我要取出...
如果字符串是格式固定的"...XXX室",那么可以简单的用 Left(Right("...XXX室",4),3)直接取得.如果不固定,要用InStr函数先确定"室"字的位置,然后用Mid函数取其前三个字符,如 s = "...XXX室"Mid(s, InStr(s, "室")-3, 3)如果是Access数据库的话,可以直接在SQL语句中使用以上函数....

怎么在VB 的TEXT中提取某段文字中的几个字?
方法1:这个方法比较死板 mid(text.txt,3,2) 注释:从第三个字符开始截取,截取字符长度为2 方法2:这个方法比较灵活,相对方法一稍有复杂 txt1.Text = "我爱北京天安门"Dim i As Integer Dim j As Integer j = 1 For i = 1 To Len(txt1.Text)If InStr(j, txt1.Text, "北") <> 0 ...

VB程序设置问题:如何提取指定字符串之前的字符串
0使用二分搜索、1区分大小写)函数Left$("123456", Instr("123456", "56")) 2、VB中回车用VbCrLf 表示,可以赋值给字符串变量3、Dim sText = "VB程序设计"If Right$(sText, 2) = vbCrLf Then '判断是否以回车结尾 sText = Left$(sText, Len(sText) - 2)End If ...

如何用VB提取文本中的内容?
有两种办法,第一个使用正则表达式,第二个使用几个字符串函数 我说第二种吧 如果仅仅是想获得文字,就可以用此方法 原理就是:html有<>作标记,只要知道<和>的位置就可以把它替换掉 首先,用instr()函数取得<和>的位置 a=instr(text1.text,"<")'这里假设你上面的内容放在text1中 b=instr(...

vb获取特定字符串
假设你的字符串存放在变量s里,要获取的字符串放在变量M里 L = Instr(s,"▼")'Instr函数返回你要寻找的字符"▼"出现在变量S中的位置 M = Left(s,L-1)'Left函数是取做边若赶位子串

vb如何截取字符串中的指定字符
理论上来说,使用VB的DHTML处理更简单,但是代码难理解,所以我设计以下代码。HTML文件(或者是XML文件,类似)中一般都是<String>ajhjahjsdh<\/String> 或者换行写 <String> ajhjahjsdh <\/String> 可以使用以下算法 定义状态 c 0-什么也没有 1-找到开头的〈2-找到开头的〉3-找到后面的〈4-找到后面...

相似回答
大家正在搜