我期待與多個字母大寫單詞的第一個實例後,細胞分裂。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」之後的單元格值的一部分? –