我这里有这个字符串
string Thing1 = "12340-TTT";
string Thing2 = "®"
我希望使用reg替换将TTT
替换为®
。
我被告知使用reg替换它无论是大写还是小写。
我将如何做到这一点?
答案 0 :(得分:3)
string input = "12340-TTT";
string output = Regex.Replace(input, "TTT", "®");
// Write the output.
Console.WriteLine(input);
Console.WriteLine(output);
Console.ReadLine();
这应该可以解决问题。你找到" TTT"在一个字符串中,用"& reg"。
替换它答案 1 :(得分:2)
试试这个:
string one = "1234-TTT";
string pattern = "TTT";
Regex reg = new Regex(pattern);
string two = "®";
string result = reg.Replace(one, two);
Console.WriteLine(result);
应该给你想要的结果。如果你需要一些更复杂的正则表达式,那么只需要很好的阅读:http://msdn.microsoft.com/en-us/library/vstudio/xwewhkd1.aspx
答案 2 :(得分:1)
如果我错了,请更正我,但我认为它与替换像这样的变量的字符串相同: string Thing1 =" 12340-TTT&#34 ;;
string Thing2 = Regex.Replace(Thing1 , "®", "anyString");
从这里得到它:
http://www.dotnetperls.com/regex-replace
欢呼:)
答案 3 :(得分:0)
为此,您可以使用Regex.Replace方法(文档here)
有几个重载版本,但最直接的版本是Regex.Replace(String input,String regexPattern,String replacementString)version:
string Thing1 = "12340-TTT";
string Thing2 = "®";
string newString = System.Text.RegularExpressions.Regex.Replace(Thing1, "[Tt]{3}", Thing2);
如果您不熟悉正则表达式,[Tt]
定义特定字符组(任何与指定的字符匹配的字符)和{3}
只表示它必须出现3次。因此,这将对3个T的字符串进行不区分大小写的搜索(例如,TTT,ttt,TtT,tTt等)
有关基本正则表达式语法的更多信息,请查看此处:http://www.regular-expressions.info/reference.html
答案 4 :(得分:0)
另外,在你可以传递给正则表达式的RegexOptions之间有IgnoreCase使它不区分大小写:
string Thing1 = "12340-TTT";
string Thing2 = "®"
var regex = new Regex("TTT", RegexOptions.IgnoreCase );
var newSentence = regex.Replace( Thing1 , Thing2 );