「a」で始まる3文字の単語を見つけるための正規表現があります...
\b[aA][a-z]{2}\b
(これによると、うまくいくようです!チェックしてください:http://rubular.com/r/Jil0E4WZnW)
次に、その結果を取得して、小文字の単語を大文字の 3 文字の単語に置き換える方法を知る必要があります。
ありがとう!
「a」で始まる3文字の単語を見つけるための正規表現があります...
\b[aA][a-z]{2}\b
(これによると、うまくいくようです!チェックしてください:http://rubular.com/r/Jil0E4WZnW)
次に、その結果を取得して、小文字の単語を大文字の 3 文字の単語に置き換える方法を知る必要があります。
ありがとう!
別の方法は、次を使用することtr
です。
echo "Abc" | tr 'a-z' 'A-Z'
このソリューションは、gsub の代わりにループとサブを使用するため、「チート」しますが、awk にあり、機能します。
echo "abc Ape baaa ab abcd ant" | awk '{for (i=1;i<=NF;i++) if (length($i)==3){sub(/[aA][a-z]{2}/,toupper($i),$i)};print}'
次のようにSedでそれを行うことができます:
echo 'Ass ass ant Ant' | sed -re 's/\ba[a-z]{2}\b/\U&/gI'
(あなたの例の文字列で)