文字列内で繰り返される文字の検索と置換

文字列内で繰り返される文字の検索と置換

>のような文字列内で「重複文字」を削除/交換したいです。

入力する、

staaacksoveerfloow

希望の出力、

stacksoverflow

この場合はa3回を繰り返します。eは2&oは2です。完全に削除するのではなく、重複/重複エントリを削除します。

ただし、その文字が前後に繰り返されない場合は重複排除されません。

ベストアンサー1

$ tr -s '[:lower:]' <<<"staaacksoveerfloow"
stacksoverflow

trこのユーティリティとその-sオプションは、指定された文字列から連続した重複小文字を削除するために使用されます。

[:lower:]a-z代わりに、影響を与えたい文字に一致する範囲または文字クラスを使用できます。

おすすめ記事