在C#中使用正则表达式为字符串添加分隔符
本文关键字:字符串 添加 分隔符 正则表达式 | 更新日期: 2023-09-27 17:59:27
假设字符串为:
string x = "0000000000";
我想在从末尾开始的每个3个字符组后面添加一个类似"."
的分隔符。
输出应为:
0.000.000.000
我怎么能这么做?
您需要使用以下正则表达式:
('d)(?=(?:'d{3})+(?!'d))
并更换为$1.
以下是RegexStorm演示(请参阅该页面上的Context选项卡)
var rx = new Regex(@"('d)(?=(?:'d{3})+(?!'d))");
var res = rx.Replace("0000000000", "$1.");
(?=(?:'d{3})+$)
您可以简单地使用它并用.
替换。请参阅演示。
https://regex101.com/r/vH0iN5/13
作为非-regex解决方案,您可以使用MoreLINQ
中的Batch
来获得大小相等的字符串,并将其反转,然后与string.Join
类似地组合;
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