【发布时间】:2012-09-13 10:12:57
【问题描述】:
这是一个非常基本的问题,但我不确定为什么它不起作用。我有代码可以用“And”、“and”等任何方式编写“And”,我想用“,”替换它
我试过了:
and.Replace("and".ToUpper(),",");
但这不起作用,还有其他方法可以做到这一点或使它起作用吗?
【问题讨论】:
-
相当于
and.Replace("AND", ",")。无论如何,请查看 Regex.Replace 和不区分大小写模式。 -
正如@pst 提到的,您也可以使用正则表达式:
var regex = new Regex( "camel", RegexOptions.IgnoreCase ); var newSentence = regex.Replace( sentence, "horse" );代码取自:stackoverflow.com/questions/6025560/… -
您还可以在搜索模式中使用“(?i)and”选项。这样您就可以使用静态
Replace()方法,因为您不需要使用RegexOption.IgnoreCase枚举。我在下面给出了一些代码。 -
你应该考虑到这个句子可以包含像“sand”这样的词。正则表达式也将替换它们。这是不正确的。
-
我创建了一个 StringExtensions 项目,它提供了一个重载 Replace 并采用了 ComparisonType,请参阅:stringextensions.codeplex.com/SourceControl/changeset/view/… 现在,您可以简单地说:
mystring.Replace("and", ",", StringComparison.InvariantIgnoreCase);这比任何正则表达式解决方案都更高效