我想从输入标签(字符串)中删除所有噪音标签
标签以逗号分隔。如果干扰词是大标签的一部分,它将保留。
这是我所拥有但不起作用的:
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);
这就是我想要从上面的输入中得到的:
“当然,我们所有的价值观”
这些词“This”、“about”、“all”将被替换为“”,因为它们是干扰词。
但“我们的所有”仍将保留,即使其中包含干扰词“所有”。
这是因为逗号是标签边界
有人可以帮我吗?
我有一个替代解决方案,将干扰词放入字典中,然后搜索输入字符串中的每个单词。但我更喜欢正则表达式方法。
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())));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)