gpt4 book ai didi

c# - 将字符串拆分为字符串生成器,删除所有与模式匹配的单词

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

我有一串由 ([\\t{}():;.,Ì\"\n]) 分隔的单词。如何将该字符串拆分为 StringBuilder 同时删除与模式匹配的任何单词 @"\d|\s|/|-" 并删除所有长度小于 2 个字符的单词。最后,我想将其存储回字符串。

Regex r = new Regex("([ \\t{}():;.,،\"\n])");

String[] tokens = r.Split(sb.ToString());
List<string> filter = new List<string>();
for (int i = 0; i < tokens.Length; i++)
{
........................
{
.....................
}


}

................

return builder.ToString();

最佳答案

我想到了这个。它与您的解决方案没有太大区别,只是我使用的是 LINQ 并完全避免使用 StringBuidler。你能接受吗?

using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

class Program {
static void Main(string[] args) {
string value = "one or:another{3}";
Regex exclude = new Regex(@"\d|\s|/|-", RegexOptions.Compiled);
string final = string.Join(" ",
(from s in Regex.Split(value, "([ \\t{}():;.,،\"\n])")
where s.Length > 2 && !exclude.IsMatch(s)
select s.Replace("ه‌","ه")).ToArray());

// to get the List<string> instead:
List<string> l = (from s in Regex.Split(value, "([ \\t{}():;.,،\"\n])")
where s.Length > 2 && !exclude.IsMatch(s)
select s.Replace("ه‌","ه")).ToList();
}
}

关于c# - 将字符串拆分为字符串生成器,删除所有与模式匹配的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10471428/

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