有时我们经常需要在一个文本框中输入多个用户名来进行处理,但用户往往不会按照我们所设计的分隔符来进行分隔,他们或者用别的分隔符,或者用多个分隔符,那么遇到这种情况怎么办了,我想应把字符串从第一个字符开始提取,每次取一个,来判断asc码,如果是英文符号,字母,数字的话,就一律认为是分隔符,并用我们指定的分隔符进行替换,等提取到最后一个字符时,整个字符串就已经很规范了,用个split就能分隔了,自己写了个函数,用vb.net实现的.如下:
Public Function CheckStr(ByVal info As String) As String
Dim str As String = info
Dim s1 As String = ""
Dim chrstr As String = ""
Dim ascint As Integer = 0
Dim len As Integer = str.Length
Dim i As Integer = 0
For i = 1 To len
chrstr = Strings.Mid(str, i, 1)
ascint = AscW(chrstr)
If (ascint > 32 And ascint < 127) Then
str = Strings.Replace(str, chrstr, "-")
End If
Next
'多次循环,以消除多个分隔符在一起时的问题.
For i = 1 To 5
str = Strings.Replace(str, "--", "-")
Next
Return str
End Function
使用时用下面的代码.
Dim ygxm() As String
dim xm as string
xm = CheckStr(xm)
ygxm = Split(xm, "-")