gpt4 book ai didi

c# - 我怎样才能用多个定界符分割一个字符串并保留定界符?

转载 作者:行者123 更新时间:2023-11-30 16:45:46 26 4
gpt4 key购买 nike

我有例如这个字符串 "abc({".
现在,我想用 "(" 分隔符拆分它,我知道我可以为此使用 String.split。
但是有没有办法我可以通过这个符号来分割但又不丢失它?就像如果我使用 split 我会得到这个 string[] = { "abc", "{"} 我想要 { "abc", "(", "{"}.
还有一种方法可以使用多个分隔符来做到这一点吗?

最佳答案

使用Regex.Split带有捕获组的模式。

If capturing parentheses are used in a Regex.Split expression, any captured text is included in the resulting string array.

参见 C# demo :

var s = "abc({";
var results = Regex.Split(s, @"(\()")
.Where(m=>!string.IsNullOrEmpty(m))
.ToList();
Console.WriteLine(string.Join(", ", results));
// => abc, (, {

(\() 正则表达式将 ( 符号匹配并捕获到捕获组 1 中,因此捕获的部分也将输出到结果字符串列表中。

关于c# - 我怎样才能用多个定界符分割一个字符串并保留定界符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41510219/

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