2013-04-09 51 views
1

替换字符串我这里有这个字符串C#ASP.NET注册替换...用另一个字符串

string Thing1 = "12340-TTT"; 

string Thing2 = "®" 

我期待使用REG更换到TTT&reg取代。

我被告知使用reg替换它并不重要,如果它的大写或小写。

我该怎么做呢?

+0

是“TTT”总是要“TTT”? – zimdanen 2013-04-09 20:56:27

回答

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

1

纠正我,如果我错了,但我认为它与替换像这样的变量字符串相同: string Thing1 =“12340-TTT”;

string Thing2 = Regex.Replace(Thing1 , "®", "anyString"); 

得到它从这里:

http://www.dotnetperls.com/regex-replace

欢呼:)

+0

为什么downvote这个没有解释? – 2013-04-09 20:58:48

+0

@pinoy_ISF你试过运行答案吗?一句话答案至少应该是正确的。 – I4V 2013-04-09 21:08:50

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”。

0

对于这一点,你可以使用Regex.Replace方法(文档here

有几个重载版本,但最直接一个因为这是Regex.Replace(字符串输入,字符串regexPattern,字符串replacementString)版本:

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

0

此外,RegexOptions之间可以传递给正则表达式还有就是IGNORECASE使其不区分大小写:

string Thing1 = "12340-TTT"; 
string Thing2 = "®" 
var regex = new Regex("TTT", RegexOptions.IgnoreCase); 
var newSentence = regex.Replace(Thing1 , Thing2 ); 
相关问题