gpt4 book ai didi

c# - RegEx 帮助去除字符串中的干扰词或停用词

转载 作者:行者123 更新时间:2023-11-30 18:03:47 31 4
gpt4 key购买 nike

我想从输入标签(字符串)中删除所有噪音标签标签以逗号分隔。如果干扰词是大标签的一部分,它将保留。

这是我有但没有工作的:

string input_string = "This,sure,about,all of our, all, values";
string stopWords = "this|is|about|after|all|also";
stopWords = string.Format(@"\s?\b(?:{0})\b\s?", stopWords);
string tags = Regex.Replace(input_string, stopWords, "", RegexOptions.IgnoreCase);

这就是我想从上面的输入中得到的: “当然,我们所有的值(value)观”

这些词“This”、“about”、“all”将被替换为“”,因为它们是噪音词。但是,即使其中包含干扰词“all”,“all of our”仍将保留。这是因为逗号是标签边界

谁能帮帮我?

我有一个替代解决方案,将干扰词放入字典,然后搜索输入字符串中的每个词。但我更喜欢 RegEx 方法。

最佳答案

        var input = "This,sure,about,all of our, all, values";
var stopWords = new Regex("^(this|is|about|after|all|also)$");
var result = String.Join(",", input.Split(',').
Where(x => !stopWords.IsMatch(x.Trim())));

关于c# - RegEx 帮助去除字符串中的干扰词或停用词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6813377/

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