我期待与多个字母大写单词的第一个实例后,细胞分裂。VBA - 正则表达式拆分可变
实施例1:
输入1:楼层4 InformatiqueNoosavilleSep
希望的输出1:NoosavilleSep
图样:的应该分裂中的最后一个字出现在大写的第二实例。 “InformatiqueNoosavilleSep”
实施例2:
输入:楼层13个InformatiqueSurfers ParadiseSep
输出:冲浪者ParadiseSep
图样:不应该发生在分割最后一个字,但在“InformatiqueSurfers”而不是。
的问题:该图案以找到分裂字从另一个小区而不同。
我们知道:
1:如果最后一个字包含三个大写字母,它总是在这个词,我们要拆分的string.Example1
2:如果最后一个字只包含两个大写字母“ParadiseSep”,我们必须在它之前的单词上分割字符串。例题
我发现这个代码,允许与大写锁定分割字符串,并添加一个空格。
Dim objRegex As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Global = True
.Pattern = "([a-z])([A-Z])"
SplitCaps = .Replace(strIn, "$1 $2")
End With
End Function
因为我正在学习VBA,所以这个正则表达式已经有点超出了我的境界。
感谢您的阅读!
这似乎更像是一个正则表达式的解析问题,尽管我不是专家。换句话说:从最后开始找到“单词”。如果它有三个帽子,然后在那里分割。否则,找到最后一个词并在那里分开。 –
也许是这样的https://regex101.com/r/aW2enR/3。看看你的原始问题,似乎需求可能会随着你遇到不同的边缘情况而不断变化 – Slai
定义它的另一种方式是,新值只是“Informatique”之后的单元格值的一部分? –