首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过字符串分隔符拆分字符串?意外的String.Split("<br>".ToCharArray())行为

如何通过字符串分隔符拆分字符串?意外的String.Split("<br>".ToCharArray())行为
EN

Stack Overflow用户
提问于 2018-09-04 06:31:57
回答 2查看 121关注 0票数 1

我有这样的输入字符串(从.NET调试器粘贴):

代码语言:javascript
复制
"g: 17.00 2D nap<br>\ng: 14.30 2D dub ; 17.15 3D nap<br>\ng: 14.30 3D dub ; 17.15 2D nap<br>\ng: 17.00 2D dub<br>\ng: 17.00 3D dub"

我正试着用"<br>"拆分它

代码语言:javascript
复制
var items = mystring.Split("<br>".ToCharArray()); // 7 elements

我得到了7个列表元素,而不是5个。

看起来Split函数也被";“分隔符拆分了。

现在,我找到了这样的解决方法:

代码语言:javascript
复制
var items = mystring.Replace("<br>", "|").Split("|".ToCharArray()); // 5 elements

但是这是怎么回事呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-04 06:38:21

您的问题在于ToCharArray()的使用。

接受您正在使用的char[]String.Split()重载将使用每个单独的字符作为分隔符:因此,通过传入"<br>".ToCharArray() (它提供了<br>的组成字符),您可以将字符串拆分为<br>中的任何一个,您会同意这不是您想要的结果。

现在,没有重载来拆分没有选项的单个字符串,但是很容易绕过这一点:

代码语言:javascript
复制
var items = mystring.Split(new[] { "<br>" }, StringSplitOptions.None);
票数 9
EN

Stack Overflow用户

发布于 2018-09-04 06:46:39

尝试使用RegEx.Split

代码语言:javascript
复制
var items = RegEx.Split(mystring, "<br>"); 

这将根据<br>的精确匹配进行拆分,而不是像其他答案中所说的那样单独拆分字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52156774

复制
相关文章

相似问题

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