gpt4 book ai didi

c# - 从字符串中提取所有出现的特定字符

转载 作者:行者123 更新时间:2023-11-30 14:15:31 25 4
gpt4 key购买 nike

我的代码中有这样的东西。

mystring.Split(new[]{"/","*"}, StringSplitOptions.RemoveEmptyEntries);

然而,我真正想要的是将 mystring 分成两个数组,一个保存上面的分隔项,另一个数组按照它们在字符串中出现的顺序保存上面的分隔符。

我可以使用 .IndexOf 继续搜索,直到我提取所有它们,但不知何故我认为这将是多余的。有没有办法在 .NET 中执行此操作?如果可能,我想避免使用 LINQ。

谢谢。

最佳答案

类似于:

var separators = new char[] { '/', '*' };
var words = new List<string>();
var delimiters = new List<string>();
var idx = source.IndexOfAny(separators);
var prevIdx = 0;
while (idx > -1)
{
if (idx - prevIdx > 0)
words.Add(source.Substring(prevIdx, idx - prevIdx));

prevIdx = idx + 1;
delimiters.Add(source.Substring(idx, 1));
idx = source.IndexOfAny(separators, idx + 1);
}

关于c# - 从字符串中提取所有出现的特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9968994/

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