gpt4 book ai didi

c# - 你能拆分一个字符串并保留拆分的字符吗?

转载 作者:太空宇宙 更新时间:2023-11-03 17:29:52 25 4
gpt4 key购买 nike

有没有办法拆分字符串但保留拆分的字符,如果这样做:

"A+B+C+D+E+F+G+H".Split(new char[] { '+' });

你得到

A
B
C
D
E
F
G
H

有没有办法使用 split 来保留拆分字符:

A
+B
+C
+D
+E
+F
+G
+H

或者如果你在 A 前面有 + 那么

+A
+B
+C
+D
+E
+F
+G
+H

最佳答案

您可以将 Regex.Split 与不使用分隔符的模式一起使用:

var pattern = @"(?=\+)";

var ans = Regex.Split(src, pattern);

如果有前导 +,这将创建一个空条目,因为在 + 之前有一个隐含的拆分。

您可以使用 LINQ 删除不需要的空条目:

var ans2 = Regex.Split(src, pattern).Where(s => !String.IsNullOrEmpty(s)).ToArray();

或者,您可以使用 Regex.Matches 来提取完整​​的匹配模式:

var ans3 = Regex.Matches(src, @"\+[^+]*").Cast<Match>().Select(m => m.Value).ToArray();

关于c# - 你能拆分一个字符串并保留拆分的字符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49141109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com