如何使用正则表达式替换不区分大小写的字符串?

我知道关于正则表达式的zilch,并认为这是一个很好的机会,至少学习至少最基本的基础知识。

如何使用正则表达式在C#中执行不区分大小写的字符串替换?

myString.Replace("/kg", "").Replace("/KG", ""); 

(注意’/’是文字。)

您可以使用:

 myString = Regex.Replace(myString, "/kg", "", RegexOptions.IgnoreCase); 

如果你要做很多次,你可以这样做:

 // You can reuse this object Regex regex = new Regex("/kg", RegexOptions.IgnoreCase); myString = regex.Replace(myString, ""); 

使用(?i:/kg)只会使一个较大的正则表达式区分不区分大小写 – 我个人更喜欢使用RegexOptions来使选项影响整个模式。

MSDN有非常合理的.NET正则表达式文档 。

像这样:

 myString = Regex.Replace(myString, "/[Kk][Gg]", String.Empty); 

请注意,它还将处理组合/ kG和/ Kg,因此它比字符串替换示例更多。

如果您只想处理特定组合/ kg和/ KG:

 myString = Regex.Replace(myString, "/(?:kg|KG)", String.Empty); 

“/ [kK] [gG]”或“(?i:/ kg)”将与您匹配。

声明一个新的正则表达式对象,传递其中一个作为您的内容。 然后运行regex.replace。

这取决于你想要达到的目标。 我假设你想在斜线后删除一系列字符?

 string replaced = Regex.Replace(input,"/[a-zA-Z]+",""); 

要么

 string replaced = Regex.Replace(input,"/[az]+","",RegexOptions.IgnoreCase); 
  Regex regex = new Regex(@"/kg", RegexOptions.IgnoreCase ); regex.Replace(input, ""); 

以下是使用Regex.replace函数的示例。