博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CF下Split的使用

Posted on 2014-03-14 11:02  Samson.nb  阅读(232)  评论(0)    收藏  举报

在Compact Framework 下 String的Split不能正确的处理 字符串 分割字符串

如对字符串 "abcfdef12abcedef23" 以"ef"进行分割.Split进行处理时会将"ef"分开进行"e"和"f"的分割

在使用正规表达式分割时也存在该问题.

要处理分隔符为多字符的情况 可以采用 IndexOf方法

 

 1 Public Shared Function Split(ByVal s As String, ByVal word As String) As String()
 2             If s.Length = 0 Then Return New String() {}
 3             Dim sl As New System.Collections.Generic.List(Of String)
 4             Dim cur As Integer = 0
 5             Dim tcur As Integer = -1
 6             Dim wordlength As Integer = word.Length
 7             tcur = s.IndexOf(word, cur)
 8             While tcur > -1
 9                 sl.Add(s.Substring(cur, tcur - cur))
10                 cur = tcur + wordlength
11                 tcur = s.IndexOf(word, cur)
12             End While
13             sl.Add(s.Substring(cur))
14             Return sl.ToArray()
15         End Function
View Code