使用VB.NET-我有一个字符串:

"##RES00012##Some value ##RES00034##Another value"

我想使用"##RES"作为分隔符拆分为:
"##RES00012## Some value""##RES00034## Another value"string.split函数似乎没有提供重载以拆分多个字符或字符数组并维护分隔符,这是功能性目的所必需的。

我只是在寻找indexOf("##res")并使用字符串操作来做到这一点,除非我遗漏了一些明显的东西?我一直在寻找解决方案,但找不到真正能满足我需求的东西。

以下是我找到的最接近的内容:
how-do-i-split-a-string-by-a-multi-character-delimiter-in-c

最佳答案

分割多个字符并不是那么棘手;在执行此操作的String.Split方法上有重载:

Dim input As String = "##RES00012## Some value ##RES00034## Another value"
Dim parts As String() = input.Split(New String() {"##RES"}, StringSplitOptions.RemoveEmptyEntries)

这将为您提供一个包含两个元素的数组:
"00012## Some value "
"00034## Another value"

但是,分隔符被遗漏了。但是,这并不是太棘手。它应该放在每个元素之前(如果字符串不是以分隔符开头,则第一个元素除外):
Dim input As String = "##RES00012## Some value ##RES00034## Another value"
Dim parts As String() = input.Split(New String() {"##RES"}, StringSplitOptions.RemoveEmptyEntries)

For i As Integer = 0 To parts.Length - 1
    If i > 0 OrElse input.StartsWith("##RES") = True Then
        parts(i) = "##RES" & parts(i)
    End If
Next

10-08 07:04
查看更多