我对正则表达式的了解非常清楚,并认为这至少是学习至少最基本的基础知识的好机会。
如何使用正则表达式在C#中执行不区分大小写的字符串替换?
myString.Replace("/kg", "").Replace("/KG", "");
(注意'/'是文字。)
答案 0 :(得分:69)
您可以使用:
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有pretty reasonable documentation个.NET正则表达式。
答案 1 :(得分:5)
像这样:
myString = Regex.Replace(myString, "/[Kk][Gg]", String.Empty);
请注意,它还会处理组合/ kG和/ Kg,所以它比你的字符串替换示例更多。
如果您只想处理特定组合/ kg和/ KG:
myString = Regex.Replace(myString, "/(?:kg|KG)", String.Empty);
答案 2 :(得分:2)
“/ [kK] [gG]”或“(?i:/ kg)”将与您匹配。
声明一个新的正则表达式对象,传递其中一个作为您的内容。然后运行regex.replace。
答案 3 :(得分:0)
这取决于你想要达到的目标。我假设你想在斜线后删除一系列字符?
string replaced = Regex.Replace(input,"/[a-zA-Z]+","");
或
string replaced = Regex.Replace(input,"/[a-z]+","",RegexOptions.IgnoreCase);
答案 4 :(得分:0)
Regex regex = new Regex(@"/kg", RegexOptions.IgnoreCase );
regex.Replace(input, "");
答案 5 :(得分:0)
Here是使用Regex.replace函数的示例。