【发布时间】:2014-08-08 10:40:17
【问题描述】:
我想使用逗号 (,) 拆分字符串并将其添加到列表中。但如果逗号跟在 2 个反斜杠后面,则不适用。
例如:
aaa,aaa,aaa >> 将字符串拆分为 3 >> (aaa) (aaa) (aaa)
aa\\,a,aaa >> 将字符串拆分为 2 >> (aa\\,a) (aaa)
我意识到我可以通过逐个遍历字符来使用子字符串来做到这一点,但我认为这不是有效的(特别是对于长字符串)。
在 C# 中是否有更快、更有效的方法来完成此任务?
谢谢!
【问题讨论】:
-
使用正则表达式。
-
你有没有尝试过?您可以检查逗号 2 索引之前的字符是否为 `\\`。
-
是的,我可以这样做,但正如我所提到的,它对于长字符串效率不高。我想知道是否有更聪明的方法来做到这一点。
-
虽然我对您的问题有一个大致的了解,但对我来说仍然有些模棱两可。您需要如何拆分
aa\\\,bb或aa\\\\,bb之类的字符串? (这些是有效的案例吗?) -
@John,不幸的是,您编辑的答案并没有明确解释您需要如何处理像
aa\\\,bb或aa\\\\,bb这样的字符串——请准确说明拆分这两个字符串的结果应该是什么(或者这两个字符串是否可能或有效作为输入......)