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

C# 如何使用正则表达式进行不区分大小写的字符串替换?,c#,.net,regex,C#,.net,Regex,我对正则表达式了如指掌,认为这是一个学习最基本的基础知识的好机会 如何使用正则表达式在C#中进行不区分大小写的字符串替换 myString.Replace("/kg", "").Replace("/KG", ""); (请注意,“/”是一个文字。)您可以使用: myString = Regex.Replace(myString, "/kg", "", RegexOptions.IgnoreCase); 如果你打算多次这样做,你可以: // You ca

我对正则表达式了如指掌,认为这是一个学习最基本的基础知识的好机会

如何使用正则表达式在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正则表达式。

这取决于您想要实现什么。我假设您想删除斜杠后面的一系列字符

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

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

声明一个新的regex对象,将其中一个作为内容传入。然后像这样运行regex.replace.

    Regex regex = new Regex(@"/kg", RegexOptions.IgnoreCase );
    regex.Replace(input, "");
myString = Regex.Replace(myString, "/[Kk][Gg]", String.Empty);
注意,它还将处理/kG和/kG的组合,因此它比字符串替换示例做得更多

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

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

是一个使用Regex.replace函数的示例。

请参见下面的Jon Skeet,他发布了first无需@当只有正斜杠时。是的,我使用nregex.com创建了示例的第一行。他们使用@而不考虑模式如果你总是在正则表达式前面加@,你就不必考虑给定的正则表达式是否需要它。你省略了冒号:(?i:/kg)为什么要否决?如果你不解释你认为错误的地方,那就无法改善答案。
myString = Regex.Replace(myString, "/(?:kg|KG)", String.Empty);