challenge 文字列の反転

与えられた文字列sを前後逆転したものを返す関数reverse_stringを作成してください。 ただし、sはShift-JISでエンコードされている文字列だと仮定して構いません。

サンプル入出力

>>> print reverse_string("Hello")
olleH
>>> print reverse_string("こんにちは")
はちにんこ
>>> print reverse_string("濁点(だくてん)")
)んてくだ(点濁

Posted feedbacks - awk

split が文字列を分解するのは gawk に限られると思われ。。。

gawk -f p3414.awk -v string="split string array fieldsep"
pesdleif yarra gnirts tilps

スクリプト中の変数 string への値の受け渡しはgawk コマンドの -v オプションで
1
2
3
4
5
BEGIN {
        n = split(string, a, "")
        for (i = n; i >= 1; i--) printf "%s", a[i]
        print "\n"
}

元の文字列は別のファイルに入れておき、下のスクリプトで各行をリバースして表示します。 …mawkでも普通にjlengthとか使えますね。対応していただいた方に感謝。

1
2
3
4
5
6
7
8
>type reverse_str.awk
{print reverse_string($0)}

function reverse_string(target, str){
    for (i = 1;i<=jlength(target);i++)
        str = jsubstr(target,i,1) str
    return str
}

Index

Feed

Other

Link

Pathtraq

loading...