我正在编写一些代码,我必须以特定格式输入文本。 即。
2
10 5 kdsfj ejkd kjdf
7 8 sdkj dsjklf ckjsd dksj
等等
但我必须输入一个文本文件的数据,整个字符串为
2 10 5 kdsfj ejkd kjdf7 8 sdkj dsjklf ckjsd dksj6 12 kjd ekjr fkjdr fdkj
但我想支持上面给出的格式文本。 大胆的字母是可以分享的。 我想要一个程序,以便它可以在字符或空格后跟数字添加换行符?
我该怎么做?
答案 0 :(得分:3)
答案是某种形式的正则表达式
Regex.Replace(inputString, @"([A-Za-z])(\d)", "$1" + Environment.NewLine + "$2");
输入是文件中的源行,并且模式符合您的特定条件。通过以上替换,您最终得到:
2 10 5 kdsfj ejkd kjdf
7 8 sdkj dsjklf ckjsd dksj
6 12 kjd ekjr fkjdr fdkj
您的其他评论澄清了加入前一个角色时的换行符;虽然我仍然不确定为什么2会自行结束?
答案 1 :(得分:0)
for (int i = 0; i < s.Length - 1; ++i)
if (!s[i].IsDigit() && s[i+1].IsDigit())
s.Insert(i+1, Environment.NewLine);
答案 2 :(得分:0)
Regex.Replace(inputString, @"([A-Za-z])(\d)", "$1" + Environment.NewLine + "$2");
应该这样做,它会匹配一系列字符,然后是一个数字。在数字前面插入一个新行。
对于那个讨厌的情况2,你必须使用先行或其他东西。