Python 3

Python 3

文字列を半分に分けて順番に印刷したい。たとえば、

abcdef

入力する

abc
def

これを行う簡単な方法はありますか、それともいくつかの文字列処理が必要ですか?

ベストアンサー1

使用パラメータ拡張そしてシェル算術:

変数の前半は次のとおりです。

${var:0:${#var}/2}

変数の後半は次のとおりです。

${var:${#var}/2}

したがって、次のものを使用できます。

printf '%s\n' "${var:0:${#var}/2}" "${var:${#var}/2}"

次の awk コマンドを使用することもできます。

awk 'BEGIN{FS=""}{for(i=1;i<=NF/2;i++)printf $i}{printf "\n"}{for(i=NF/2+1;i<=NF;i++){printf $i}{printf "\n"}}'

$ echo abcdef | awk 'BEGIN{FS=""}{for(i=1;i<=NF/2;i++)printf $i}{printf "\n"}{for(i=NF/2+1;i<=NF;i++){printf $i}{printf "\n"}}'
abc
def

おすすめ記事