我在询问之前搜索了网站,但我找到的解决方案都没有对我的问题有所帮助。
首先我有一个类似的字符串:
Dim someString As String = "<object>sometext</object><object>sometext</object><object>sometext</object>"
我试图将它拆分成一个字符串数组,如下所示:
stringArray 0 --> "<object>sometext</object>"
stringArray 1 --> "<object>sometext</object>"
stringArray 2 --> "<object>sometext</object>"
我尝试拆分文本的方法会从结果中删除分隔符,这不是我想要的,因为它会使代码无效。
答案 0 :(得分:3)
这是一个伪代码,因为我不确定VB的确切语法,但你可以尝试在每个结尾处强制一个字符,如下所示:
Dim someString As String = "<object>sometext</object><object>sometext</object><object>sometext</object>"
var stringToSpilt = someString.Replace("</object>","</object>~")
var splitObjects = stringToSpilt.Split("~")
如果“对象”可以是任何文本,那么RegEx替换会执行此操作,但正如上面的人所评论的那样,如果它是XML拆分它将比这更多涉及。
答案 1 :(得分:0)
使用IndexOf并使用List(Of String),没有隐藏的字符串碎片
Dim someString As String = "<object>sometext</object><object>sometext</object><object>sometext</object>"
Dim result = new List(Of String)()
Dim pos = 0
Dim init = 0
Dim len = "</object>".Length
do
pos = someString.IndexOf("</object>", init)
if pos <> -1 Then
result.Add(someString.Substring(init, pos + len - init))
init = pos + len + 1
End If
Loop while pos <> -1