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

Jos*_*off 27 .net c# regex

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

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

myString.Replace("/kg", "").Replace("/KG", "");
Run Code Online (Sandbox Code Playgroud)

(注意'/'是文字.)

Jon*_*eet 72

您可以使用:

myString = Regex.Replace(myString, "/kg", "", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

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

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

使用(?i:/kg)将使这一点位较大的正则表达式不区分大小写的-我个人更喜欢使用RegexOptions作出的选择会影响整个格局.

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


Guf*_*ffa 5

像这样:

myString = Regex.Replace(myString, "/[Kk][Gg]", String.Empty);
Run Code Online (Sandbox Code Playgroud)

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

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

myString = Regex.Replace(myString, "/(?:kg|KG)", String.Empty);
Run Code Online (Sandbox Code Playgroud)