首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用多字符分隔符拆分字符串并维护分隔符

如何使用多字符分隔符拆分字符串并维护分隔符
EN

Stack Overflow用户
提问于 2009-07-31 10:39:07
回答 2查看 29.3K关注 0票数 12

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

代码语言:javascript
复制
"##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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-31 10:53:41

拆分多个字符并不是很棘手;String.Split方法上有一些重载可以做到这一点:

代码语言:javascript
复制
Dim input As String = "##RES00012## Some value ##RES00034## Another value"
Dim parts As String() = input.Split(New String() {"##RES"}, StringSplitOptions.RemoveEmptyEntries)

这将为您提供一个包含两个元素的数组:

代码语言:javascript
复制
"00012## Some value "
"00034## Another value"

但是,分隔符被省略了。不过这并不是非常棘手;它应该放在每个元素的前面(如果字符串不是以分隔符开头,则第一个除外):

代码语言:javascript
复制
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
票数 23
EN

Stack Overflow用户

发布于 2013-11-12 00:36:23

只需使用Microsoft.VisualBasic.Strings.Split()即可

代码语言:javascript
复制
Dim inputs As String = "first value##second value##third value"
Dim parts As String() = Strings.Split(inputs,"##")
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1211848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档