bashの文字列の途中の文字を削除する方法


12

bashには文字列があり、文字列の途中の文字を削除しようとしています。次のように、文字列の先頭または末尾から文字を削除できることを知っています。

myVar='YES'
myVar="${myVar#'Y'}"
myVar="${myVar%'S'}"

しかし、どうすれば中央の1つを削除できますか?

回答:


18

削除する文字がわかっている場合は、パラメーター展開で置換を使用できます。

myVar=${myVar/E}  # Replace E with nothing

または、保持する文字を知っている場合:

myVar=${myVar/[^YS]}  # Replace anything but Y or S

または、位置がわかっている場合:

myVar=${myVar:0:1}${myVar:2:1}  # The first and third characters

どちらもわからない場合はどうしますか?YとSを保持したいだけの場合はどうしますか?
ラトガーホイスマンズ

@RutgerHuijsmans:アップデートを確認してください。
チョロバ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.