用于在3个字符后插入空格的正则表达式

时间:2016-12-23 03:11:48

标签: c# regex

string str = Regex.Replace(str,"(.{3})"," $0");

我尝试过使用它,但是每三个字符重复一次,但是我需要在前三个字符后才能替换它。

示例:

如果字符串为WC1V2GAAAAAA上述正则表达式的输出为WC1 V2G AAA AAA

我需要

  

WC1 V2GAAAAAA

3 个答案:

答案 0 :(得分:1)

当你已经知道你想要在字符串中的第3个字符之后给一个空格时,你可能不需要正则表达式。相反,SubString会帮助你。应该使用正则表达式来处理基于模式匹配的文本,而不是比较和匹配文字文本。因此,您可以使用下面的代码使您的字符串看起来像" WC1 V2GAAAAAA"

"WC1V2GAAAAAA".Substring(0, 3) + " " + "WC1V2GAAAAAA".Substring(3, somestr.Length - 3);

答案 1 :(得分:0)

将你的正则表达式锚定在开头

^...

这是如何运作的?

  • ^匹配字符串/行
  • 的开头

答案 2 :(得分:0)

你可以使用,

Regex.Replace(字符串输入,字符串替换,int计数,int startat)

此处,第3个参数是“可以进行替换的最大次数” 第四个参数是“搜索开始的输入字符串中的字符位置”

string str = "WC1V2GAAAAAA";
string pattern = "(.{3})";
string replacement = " $0";
Regex rgx = new Regex(pattern);

string result = rgx.Replace(str, replacement, 1, 3);

// result is WC1 V2GAAAAAA

来源:https://msdn.microsoft.com/en-us/library/3fky5t5f(v=vs.110).aspx