使用RegEx将整个文本替换为XXX

时间:2013-03-21 09:23:05

标签: c# regex

如何使用C#中的RegEx用XXX替换整个文本?它将取代等于字符串长度的X的数量。

例如,

原始文字 Apple 替换为 XXXXX

使用 XXXXXX

Cricket 使用 XX

使用 XXXXXXXXXXX

优秀

String MyText = "Apple";
//For following line i have to written regexp to achieve 
String Output = "XXXXX"; //Apple will replace with 5 times X because Apple.length = 5

3 个答案:

答案 0 :(得分:3)

没有正则表达式:

string s = "for example original text is Apple replace";

var replaceWord = "Apple";
var s2 = s.Replace(replaceWord , new String('X', replaceWord.Length));

new String('X', replaceWord.Length)创建一个由'X'字符组成的字符串,其长度与replaceWord相同。

答案 1 :(得分:2)

您不需要Regex或Replace方法,而是可以使用Enumerable.Repeat<TResult> Method创建一个字符X (原始字符串长度)的数组,然后通过它到字符串构造函数。

string originalStr = "Apple";    
string str = new string(Enumerable.Repeat<char>('X',originalStr.Length)
                                      .ToArray());

str将成立:str = "XXXXX"

修改 由于您需要与原始字符串具有相同长度的字符串并使用单个字符,因此您可以使用:String Constructor (Char, Int32),这是一个更好的选择。

string str3 = new string('X', originalStr.Length);

答案 2 :(得分:2)

为什么不简单地使用:

String.Replace(word, new String('X', word.Length));