2つ以上続く半角スペースを1つのスペースに変換する方法を以下に記します。
replaceを使うことにより簡単に記述することができます。
以下、実際にPowerShell上で実行した例です。
PS C:\Users\sakura> "# a b c d e #" -replace " * ", " " # a b c d e #
テキストファイルを対象とし、変換する場合は以下のようになります。
用意したテキストファイルは以下の通りです。
行頭と行末のスペースはtrimで削除しています。
a a b a b c a b c d
PS C:\Users\sakura\wk> Get-Content .\text.txt | foreach { $_.trim() -replace " * ", " " }
a
a b
a b c
a b c d以上、PowerShellで2つ以上のスペースを1つのスペースに変換する方法でした。