[英]Regex replace substring from string
我认为这个问题已经被问过很多次,但是我还没有找到一个具有C#风格的问题(或者我不知道如何从python / perl等将其转换为C#。)。 我正在创建一个函数,希望它从字符串中删除匹配的字符串。
我希望它可以匹配整个单词以及部分单词...这是到目前为止我可以匹配整个单词的内容:
public string regExRemove(string text, List <String> words)
{
string pattern =
@"(?<=\b)(" +
String.Join(
"|",
words
.Select(w => Regex.Escape(w))
.ToArray()) +
@")(?=\b)";
var regex = new Regex(pattern);
string strReturn = regex.Replace(text, "");
return strReturn;
}
我从另一个stackoverflow问题中得到了这个。 正如我所说,这是整个单词的匹配。 我希望它与字符串“文本”中任何位置的“单词”列表匹配,然后将其删除。
例如,我想从单词列表中删除单词Apples,Peachs,这些字符串例如我有[apples]我有-apples我有apples和Peaches I Peachs有Apples I.Peaches有[Apples]
在单词列表中,我还将传递特殊字符以删除“ [”,但我也想替换“”。 与空格等...
所以清单变成我有我有我有我有
如何修改上面的正则表达式来做到这一点?
谢谢
怎么样呢?
public string stripify(string text, List<string> words)
{
var stripped = words.Aggregate(text, (input, word) => input.Replace(word, ""));
return stripped.Replace('.', ' ');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.