文字列で最初のコレクションを見つける方法

文字列で最初のコレクションを見つける方法

豚ラテン語の電卓を作ろうとするが、特定の部分で詰まっていますね。 「apple」という文字列があるとしましょう。変換するには、最後に「way」を追加すると「appleway」になります。これまでこの部分を終えました。

私が付いているのは「スポーツ」のような文字列です。これを行うには、最後の最初のコレクションの前に子音を置き、「ay」を追加すると「ortsspay」になります。

文字列が正しく変換されるように、最初のコレクションの前に子音を取得する方法はわかりません。

ベストアンサー1

パラメータを使用した拡張bash

${var%%[AaEeIiOoUu]*}
  • パターンは、[AaEeIiOoUu]*貪欲に(%%)右側の変数から一致する部分を削除しますvar。ここでは、大文字または小文字の集合([AaEeIiOoUu])で始まり、その後に何も(*)が続きます。

例:

$ var=sports   
$ echo "${var%%[AaEeIiOoUu]*}"
sp

$ var=foobar
$ echo "${var%%[AaEeIiOoUu]*}"
f

おすすめ記事