-4

C#でRegExを使用してテキスト全体をXXXに置き換える方法は? 文字列の長さに等しい X の数を置き換えます。

たとえば、元のテキストはAppleで、 XXXXXに置き換えます

XXXXXXとのクリケット

こんにちは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
4

3 に答える 3

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

于 2013-03-21T09:27:33.377 に答える
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);
于 2013-03-21T09:25:30.970 に答える
2

単純に使用しない理由:

String.Replace(word, new String('X', word.Length));
于 2013-03-21T09:26:32.333 に答える