假设你要分割的字符串是string1的话
目前成都创新互联已为上1000家的企业提供了网站建设、域名、网站空间、成都网站托管、企业网站设计、黄龙网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
分割代码就是:
dim s as string=strings.split(string1,vbcrlf)
这样s就是一个阵列了。s(0)是第一段内容,s(1)是第二段内容,以此类推。~~
googles8 的写法也对的。不过我的代码省去了声明的一行。只用一行就好了。
如果用常规编程的方法:
直接用split(str1,“,”)的形式把str1字符串分成字符串数组,然后用for循环判断每个数组元素是否是数字或者是字符串就可以了。
原字符串里:00.0 R-1 SW_STOP 6-9 之间是不是有空格?
如果是的话
Dim STR1, STR2() As String
Dim arr1 As New ArrayList
STR1 = ":00.00 R-1 Sw_STOP 6-9" '你原来的字符串
STR2 = STR1.Split(" ") ‘按空格符截取
Dim i As Integer
For i = 0 To STR2.Length - 1 Step 1
If STR2(i) "" Then
arr1.Add(STR2(i))
End If
Next
最后得到的 arr1 就是分割后的字符串集合
如果原字符串没有空格,并且字符串长度固定,截取出来的部分也固定
那么就用 substring函数 一个一个的截取也就试了
如果原字符串长度也不固定,那么要根据你的截取规则来做。如果上述两个答案不能解决的话还需要更详细的问题
Function a(s As String) As String
Dim i = s.IndexOf("/")
If i 0 Then
Return s.Substring(0, i)
ElseIf i = 0 Then '第一个字符为"/"
If s.LastIndexOf("/") 0 Then '不只一个"/"
Return s.Substring(0, s.Substring(1).IndexOf("/") + 1)
Else
Return Nothing '只有一个"/"
End If
Else '不含"/"或是空串
Return Nothing
End If
End Function
基本上不出错了
用数组呗。我是用VB6的,不过你会.NET也肯定能看懂。
不是文本文件么?先用Line Input读每行存入数组。再把每行数据用你的","分割,就可以查询了。我写个简单的例子:
'搜索函数,用法Search(标头,序号),返回数据.
Private Function Search(ByVal Section As String, ByVal Index As Integer) As String
Dim fNum%, Lines%, temp%, Str As String
ReDim Data(0)
fNum = FreeFile()
If Dir("C:\\1.txt") = "" Then Exit Function
'文件路径和文件名你自己改
Open "C:\\1.txt" For Input As #fNum
Do While Not EOF(fNum)
Lines = Lines + 1
'行数
Line Input #fNum, Str
ReDim Preserve Data(Lines)
Data(Lines) = Str
Loop
Close #fNum
If Lines 0 Then
Dim tmp() As String
For temp = 1 To UBound(Data)
tmp = Split(Data(temp), ",")
'分割
If tmp(0) = Section Then
Search = tmp(Index - 1)
'因为从0开始所以-1
Exit Function
End If
Next
End If
End Function
比如你要“gc“开头的第5个数据,就用Search("gc",5)即可返回45。
Split只能处理一个字符作为分隔符,你这种情况得自己手工处理, 不能使用Split.
可以这样写:
s = data.Trim.Split(CChar("|"))
s(0) = s(0).Replace("file","")