在regex.replace中忽略区分大小写?

Kha*_*mar 5 c# regex search replace case-sensitive

我有这个代码在字符串中搜索并用其他文本替换一些文本:

Regex regexText = new Regex(textToReplace);
retval = regexText.Replace(retval, Newtext);
Run Code Online (Sandbox Code Playgroud)

textToReplace 可能是"欢迎"或"客户"或任何东西.

我想忽略案例,textToReplace以便"欢迎"和"欢迎"两者相匹配.

我怎样才能做到这一点?

pet*_*kyy 16

你可以尝试:

Regex regexText = new Regex(textToReplace, RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)


Seb*_*olm 14

你只需传递这样的选项RegexOptions.IgnoreCase:

Regex regexText = new Regex(textToReplace, RegexOptions.IgnoreCase);
retval = regexText.Replace(retval, Newtext);
Run Code Online (Sandbox Code Playgroud)

或者,如果您愿意,可以将选项直接传递给Replace方法:

retval = Regex.Replace(retval, textToReplace, Newtext, RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

可以在RegexOptions文档页面上找到可以为regex设置的可用选项列表.