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

本文关键字:文本替换 XXX RegEx 使用 | 更新日期: 2023-09-27 18:05:09

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

例如

原文为Apple替换为XXXXX

板球

XXXXXX

Hi with 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

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

无regex:

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相同。

为什么不直接使用:

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

您不需要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);