在Number和String之间添加空格

时间:2014-11-10 13:19:59

标签: c# .net regex

我有一个像这样的字符串

"我的火车在6A上进入Track 10B并用11S&#34进行弦测试;

现在我想在Number 11和Char B之间添加空格,依此类推  我想要喜欢这个

"我的火车在6 A的轨道10 B和11 S&#34的字符串测试;

使用C#。这有什么逻辑吗? 感谢

2 个答案:

答案 0 :(得分:8)

使用正则表达式:

var result = Regex.Replace(str, @"(?<=\d)(?=\p{L})", " ");

用空格替换数字((?<=\d))和字母((?=\p{L}))之间的&#34;空格&#34;

没有外观的另一种方法是:

var result = Regex.Replace(str, @"(\d)(\p{L})", "$1 $2");

在这种情况下,它用模式$1 $2替换最后一位数字和第一个字母,在过程中插入一个空格。

答案 1 :(得分:3)

以上答案是正确的但是根据要求我们必须使用它:

  var result = Regex.Replace("4A", @"(?=\p{L})(?<=\d)", " ");

我希望它会对你有所帮助。