1. ホーム
  2. string

[解決済み] 文字列中の一部の文字を別の文字に置き換える

2022-03-15 04:51:45

質問

のような文字列があります。 AxxBCyyyDEFzzLMN の出現箇所をすべて置き換えたい。 x , y および z_ .

どうすれば実現できるのでしょうか?

私が知っているのは echo "$string" | tr 'x' '_' | tr 'y' '_' はうまくいくのですが、パイプを使わずに一度にやりたいのです。

どのように解決するのですか?

echo "$string" | tr xyz _

の各出現箇所を置き換えます。 x , y または z_ を与える。 A__BC___DEF__LMN の例では

echo "$string" | sed -r 's/[xyz]+/_/g'

は、繰り返し出てくる x , y または z を1つ持つ _ を与える。 A_BC_DEF_LMN の例では