これを回す必要があります:
zz zz zz zzzzYzzzzXzzzz zz zzzzzz zzzz zzYzz
次のようにします:
1Y1X1Y1
できれば一挙に。
zz\s*zz
良いですが、必要な結果を得るには数回実行する必要があります。
ペアは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 で実行した結果は次のとおりです。