我有一个这样的字符串:
达勒姆*与约克郡相比
我在C#中使用了一个正则表达式,用一些文本替换字符串中的星号,如:
string aString = "Durham * versus Yorkshire";
string newstring = Regex.Replace( aString, @"\*", "Replaced text");
我想要这个输出:
达勒姆取代文本与约克郡
但这不起作用。我认为使用*
转义\
会找到它。但事实并非如此。你也可以在这里测试它:RegExr。
有人能告诉我哪里错了吗?
答案 0 :(得分:3)
对于像这样的简单替换,您不需要使用正则表达式,String.Replace
就足够了:
string aString = "Durham * versus Yorkshire";
string newstring = aString.Replace("*", "Replaced text");
答案 1 :(得分:3)
尝试了你的代码,它似乎工作。甚至你的正则表达式都适用于regexr.com
string aString = "Durham * versus * Yorkshire";
string newstring = Regex.Replace(aString, @"\*", "Replaced text");
输出
Durham替换了文字与替换文本Yorkshire
你也可以考虑使用String.Replace(),如
aString.Replace("*", "Replaced text");
答案 2 :(得分:0)
string aString = "Durham * versus Yorkshire";
string newstring = Regex.Replace( aString, "\\*", "Replaced text");