从字符串中删除特定单词(不区分大小写)

时间:2012-08-03 00:24:09

标签: c# .net regex winforms replace

我从内容中获取包含许多我想要“删除/替换”的单词的作业内容。例如:

postcodes,Thank you , Click here 

问题

我有一个我要从内容中删除的单词列表,但我不确定这些单词将如何出现在内容中(大写/小写)...

那么,我该如何更换它们呢?

示例 - 我想替换:

associate degree in electronics or applicable equivalent

但在内容上可以是:

associate Degree in electronics or applicable equivalent
Associate DEGREE in electronics or applicable equivalent
ASSOCIATE DEGREE IN ELECTRONICS or applicable equivalent

如何更换它们?

2 个答案:

答案 0 :(得分:1)

试试这个:

(?i)(associate DEGREE in ELECtronics)

答案 1 :(得分:0)

如果您想使用Regex,可能的解决方案之一是:

Regex.Replace(input, @"(?i)(associate\s+degree\s+in\s+electronics\s+or\s+applicable\s+equivalent)", String.Empty);

您可以使用相同的模式但创建一个Regex对象,因此您可以提供如下的RegexOptions:

Regex r = new Regex(@"(?i)(associate\s+degree\s+in\s+electronics\s+or\s+applicable\s+equivalent)", RegexOptions.Compiled);

以后你可以用它作为:

r.Replace(input, String.Empty);

注意:使用具体的Regex对象可以获得更灵活的替换策略,比如MatchEvaluator,替换次数等等...