我有一个像"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"
它必须在数字后面加上空格,不应该跳过特殊字符。
请帮忙,谢谢
答案 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}
代表任何数字。