正则表达式在大写字母之间添加空格,除了替换单词'和'与&

时间:2014-03-18 17:02:58

标签: c# asp.net regex

现在我将'And'替换为'&',但我还需要在大写字母之间添加空格。

前:

String:CategoryName到Category Name

和 CategoryAndName到Category&名称

当前正则表达式:

System.Text.RegularExpressions.Regex.Replace( stringText, "(.+)And", "$1 & " )

1 个答案:

答案 0 :(得分:1)

这些是您可能需要的两个正则表达式。

使用lookbehind检查大写字母是否在小写字母之后。

stringText = Regex.Replace( stringText, "(?<=[a-z])([A-Z])", " $1" );
// You can also use `(?<=[a-z])(?=[A-Z])` and replace with single space also.

对于这一个,我们正在使用Andlookbehind检查lookahead是否在任何字母表之间。

stringText = Regex.Replace( stringText, "(?<=[a-zA-Z])And(?=[a-zA-Z])", " & " );