【发布时间】:2021-09-21 10:42:15
【问题描述】:
我有一个字符串,其中包含两个特殊字符:"a" 和"x"(如"aaxaxbcdxbcdexaxdefxdefa"),我想按照这些规则进行拆分:
- 如果遇到
"a",结果字符串将包含它作为单个字符。 - 如果遇到
"x",这将用作分隔符。
所以,我想要这个:
Stretched out input:
a a x a x bcd x bcde x a x def x def a
{ "a", "a", "a", "bcd", "bcde", "a", "def", "def", "a" }
显然,我可以使用它进行拆分,基于"x":
string infoList[] = input_string.Split(new char[] {"x"}, StringSplitOptions.RemoveEmptyEntries);
但是"a" 的故事让我想到了扩大已经存在的数组(我担心这可能会导致性能问题)。最重要的是,我相信应该有一些单行代码(而不是写我自己的for-loop)。
编辑
简单来说:有没有string.Split(...)不去掉最终字符串中的分隔符?
有人有想法吗?
【问题讨论】:
-
您不应该使用这样的字符串,尤其是在您传输用户输入时!使用序列化或至少进行适当的转义
-
@PatrickBeynio 我想你评论错了问题
-
@Cid 你是对的,对不起,问题看起来很相似