开发者

how do I replace numbers using regex?

开发者 https://www.devze.com 2023-03-20 06:42 出处:网络
I am using C# regex library to do some text find and replace. I would like to change the following: 1 -> one

I am using C# regex library to do some text find and replace.

I would like to change the following:

1 -> one

11 -> one one

123 -> one two three

for example, here's my code to replace 开发者_如何学JAVAampersand:

        string pattern = "[&]";
        string replacement = " and ";
        Regex rgx = new Regex(pattern);
        string result = rgx.Replace(text, replacement);

Edit I found some great examples of .NET RegEx on MSDN:

http://msdn.microsoft.com/en-us/library/kweb790z.aspx


Since you're specifically asking for a regex, you could do something like this

var digits = new Dictionary<string, string> { 
   { "0", "zero" },
   { "1", "one" },
   { "2", "two" },
   { "3", "three" },
   { "4", "four" },
   { "5", "five" },
   { "6", "six" },
   { "7", "seven" },
   { "8", "eight" },
   { "9", "nine" }
};

var text = "this is a text with some numbers like 123 and 456";

text = Regex.Replace(text, @"\d", x => digits[x.Value]);

which will give you

this is a text with some numbers like onetwothree and fourfivesix
0

精彩评论

暂无评论...
验证码 换一张
取 消