C#ASP.NET Reg Replace ...用另一个字符串替换字符串

时间:2013-04-09 20:44:40

标签: c# asp.net

我这里有这个字符串

string Thing1 = "12340-TTT";

string Thing2 = "®"

我希望使用reg替换将TTT替换为&reg

我被告知使用reg替换它无论是大写还是小写。

我将如何做到这一点?

5 个答案:

答案 0 :(得分:3)

string input = "12340-TTT";
string output = Regex.Replace(input, "TTT", "&reg");

// 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 = "&reg";
    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  );