如何使用正则表达式替换不区分大小写的字符串?
我知道关于正则表达式的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函数的示例。