VB.Net Regex - 在数字后面加上空格

时间:2014-09-08 13:16:09

标签: regex vb.net

我有一个像"7&9 Captial 06Actual 567"这样的字符串。

我使用了正则表达式函数:

Regex.Replace("7&9 Captial 06Actual 567", "[^\d-](?=[\d-])", "$& ")

输出 - "7& 9 Captial 06Actual 567"

但我需要像这样的输出 - "7&9 Captial 06 Actual 567"

它必须在数字后面加上空格,不应该跳过特殊字符。

请帮忙,谢谢

1 个答案:

答案 0 :(得分:1)

搜索:(\d)([a-zA-Z])
并替换为:$1 $2

根据以下评论更新:

搜索:(?<=\d)(?=[a-zA-Z])|(?<=[a-zA-Z])(?=\d)
替换为:A single space

这将在数字和字母之间或字母和数字之间添加一个空格。

我不知道VB是否支持lookaround

如果您想处理unicode字符,请使用:

搜索:(?<=\p{N})(?=\p{L})|(?<=\p{L})(?=\p{N})
替换为:A single space

\p{L}代表任何字母,\p{N}代表任何数字。