如何使用C#中的RegEx用XXX替换整个文本?它将取代等于字符串长度的X的数量。
例如,原始文字 Apple 替换为 XXXXX
使用 XXXXXXCricket 使用 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
答案 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));