添加一个新的线或空间取决于模式

我正在尝试做以下事情。

模式:

aaaaa.BBBBB – 在(。)之后添加新行

aaaaaBBBBB – 在看到Caps信件时添加新行。

aaaaa12345 – 在有数字时添加空格(输出:aaaaa 12345)

12345aaaaa – 在数字后面有一个字母时添加空格(输出:12345 aaaaa)

价值观:

客户询问了21年的计划,请跟进1234567

ReGex代码需要如下:

客户询问了21 (空间)年计划**(新行)**请跟进(空间) 1234567

结果:

客户询问了21年的计划

请跟进1234567。

我如何认识这个模式,并且在添加(空格)(换行符)时做一个特定的replace?

这是我目前使用的代码:

Function SplitCaps(strIn As String) As String Dim objRegex As Object Set objRegex = CreateObject("vbscript.regexp") With objRegex .Global = True .Pattern = "([az])([A-Z0-9])" SplitCaps = .Replace(strIn, "$1 $2") End With End Function 

以上代码的输出

您可以使用两个正则expression式replace。 第一个在0aa0之间(数字和小写字母之间)添加空格,第二个在aAaA之间创build换行符。

  1. ([az])([0-9])|([0-9])([az])并换成$1$3 $2$4
  2. ([az])\.?([AZ])并换成$1\n$2
  3. 如果您希望在最后添加一段时间,请使用$replace为\.

试试这个代码:

 Function SplitCaps(strIn As String) As String Dim objRegex As Object Set objRegex = CreateObject("vbscript.regexp") Dim result As String With objRegex .Global = True .Pattern = "([az])([0-9])|([0-9])([az])" result = .Replace(strIn, "$1$3 $2$4") End With With objRegex .Global = True .Pattern = "([az])\.?([AZ])" result = .Replace(result, "$1\n$2") End With SplitCaps = result End Function