C#中如何用Regex在指定间隔(4、6位)后添加空格?
解决方案
可以通过两种方式实现需求:
方式一:分步正则替换
先给前4个字符后加空格,再处理后续的6个字符:
// 第一步:在前4个字符后插入空格 var temp = Regex.Replace(maskedString, "^(.{4})", "$1 "); // 第二步:在第一步结果的第5位起的6个字符后插入空格 var finalResult = Regex.Replace(temp, "^(.{5})(.{6})", "$1 $2 ");
方式二:一次性正则匹配拼接
直接通过正则将字符串拆分为「前4位」「中间6位」「剩余部分」三段,再按格式拼接:
var finalResult = Regex.Replace(maskedString, "^(.{4})(.{6})(.*)$", "$1 $2 $3");
效果验证
针对原字符串***********4123(共15个字符),上述两种方式都会输出:
**** ****** *4123
完全符合期望格式。
内容的提问来源于stack exchange,提问作者ANEES
相关产品推荐
相关产品推荐

