私は文字列を持っています:
"こんにちは7866592これは私の12432文字列と823です。123をすべて裏返す必要があります"
そしてなりたい
"こんにちは2956687これは私の23421文字列で、328はすべて321を反転する必要があります"
この正規表現を使用してすべての数値を取得します。
Regex nums = new Regex("\d+");
var replacedString =
Regex.Replace(//finds all matches and replaces them
myString, //string we're working with
@"\d+", //the regular expression to match to do a replace
m => new string(m.Value.Reverse().ToArray())); //a Lambda expression which
//is cast to the MatchEvaluator delegate, so once the match is found, it
//is replaced with the output of this method.
文字列をスペースで分割します。次に、数字である新しい文字列配列の文字列を取得し、それらに対してこの関数を実行します。
public static string Reverse( string s )
{
char[] charArray = s.ToCharArray();
Array.Reverse( charArray );
return new string( charArray );
}
次に、配列を単一の文字列に再結合します。