string str = Regex.Replace(str,"(.{3})"," $0");
我尝试过使用它,但是每三个字符重复一次,但是我需要在前三个字符后才能替换它。
示例:
如果字符串为WC1V2GAAAAAA
上述正则表达式的输出为WC1 V2G AAA AAA
我需要
WC1 V2GAAAAAA
答案 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