我需要把這個:
zz zz zz zzzzYzzzzXzzzz zz zzzzzz zzzz zzYzz
進入這個:
1Y1X1Y1
最好是一口氣。
zz\s*zz
很好,但你需要運行幾次才能達到我的需要。
Pair是z的最小單位。
zz 由任意數量和組合的空格(製表符、空格)相互分隔。
X 和 Y 可以是 z 和空格之外的任何字串。
空白始終以 zz 為邊界(並且位於 Y 和 X 字串內部)。
最好採用與 VBA 相容的語法。
答案1
你可以在 GNU sed 中使用
sed -r 's/[z ]+/1/g'
如果這不是您想要的,請編輯您的問題以更清楚地描述您想要的內容。
答案2
VBA 程式碼類似以下程式碼:
Sub test()
MsgBox ReplaceIt("zz zz zz zzzzYzzzzXzzzz zz zzzzzz zzzz zzYzz")
End Sub
Function ReplaceIt(strIn As String) As String
Dim RE As Object
Set RE = CreateObject("VBScript.RegExp")
RE.Pattern = "[z ]+"
RE.Global = True
ReplaceIt = RE.Replace(strIn, "1")
End Function
以下是此範例在 Word 中運行的結果: