C#反转字符串中的所有数字?

时间:2012-06-21 18:45:20

标签: c# .net regex string

我有一个字符串:

你好 7866592 这是我的 12432 字符串和 823 我需要翻转所有 123

我想成为

你好 2956687 这是我的 23421 字符串和 328 我需要翻转所有 321

我使用这个正则表达式获取所有数字:

Regex nums = new Regex("\d+");

2 个答案:

答案 0 :(得分:17)

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.

答案 1 :(得分:1)

在空格上拆分字符串。然后将新字符串数组中的字符串作为数字并在其上运行此函数:

public static string Reverse( string s )
{
   char[] charArray = s.ToCharArray();
   Array.Reverse( charArray );
   return new string( charArray );
}

然后将您的数组重新组合成一个字符串。