在C#中使用regex将字符串添加到字符串

时间:2015-06-24 10:02:27

标签: c# regex string

假设字符串是:

string x = "0000000000";

我希望在每个3个字符组从最后开始添加"."之类的分隔符。

输出应为:

0.000.000.000

我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

您需要使用以下正则表达式:

(\d)(?=(?:\d{3})+(?!\d))

并替换为$1.

以下是RegexStorm demo(请参阅该页面上的上下文标签)

var rx = new Regex(@"(\d)(?=(?:\d{3})+(?!\d))");
var res = rx.Replace("0000000000", "$1.");

答案 1 :(得分:1)

(?=(?:\d{3})+$)

您可以简单地使用它并替换为.。请参阅演示。

https://regex101.com/r/vH0iN5/13

答案 2 :(得分:1)

作为 -regex解决方案,您可以使用Batch中的MoreLINQ获取同等大小的字符串并将其反转并与string.Join结合使用; < / p>

string s = "0000000000";
var group = s.Batch(3, p => new string(p.ToArray())).ToList();
group.Reverse();
var result = string.Join(".", group);
Console.WriteLine(result); // 0.000.000.000