如果用常规编程的方法:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、雅安服务器托管、营销软件、网站建设、昌邑网站维护、网站推广。
直接用split(str1,“,”)的形式把str1字符串分成字符串数组,然后用for循环判断每个数组元素是否是数字或者是字符串就可以了。
Split只能处理一个字符作为分隔符,你这种情况得自己手工处理, 不能使用Split.
可以这样写:
s = data.Trim.Split(CChar("|"))
s(0) = s(0).Replace("file","")
简单,思路:
1、将每行数据放到数组
2、把”:“作为分隔符拿到你想要的字符串
程序如下:
dim ArrTemp() as string
ArrTemp=split(你的这堆字符,vbcrlf)
dim i as int
dim ArrTemp1() as string
for i=0 to ubound(ArrTemp)
ArrTemp1=split(ArrTemp(i),":")
msgbox left(ArrTemp1(1),len(ArrTemp1(1))-1)
next
用数组呗。我是用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。
就是拆分字符串嘛用一个例子就知道了s=split("赵,钱,孙,李",",")s是个字符串数组,这样的话,s中就有四个元素s(0)是赵s(1)是钱s(2)是孙s(3)是李比自己一个个赋值快多了
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
基本上不出错了