文字列関数 (1)

文字列に関する情報を教えてくれる関数

scpt8_1.awk

#!/usr/local/bin/gawk -f
# scpt8_1.awk

BEGIN{
    # length(str)
    x = length("lemon")
    print "x = " x

    y = "egg"
    z = length(y)
    print "z = " z

    print length("私")
    print length("私は中国人です")

    # index(string, str)
    print index("proogramming", "gram")
    print index("prog", "programming")

    str1 = "computer"
    str2 = "ter"
    pos = index(str1, str2)
    print pos

    str1 = "プログラミング言語 AWK"
    str2 = "言語"
    print index(str1, str2)

    # match(str, reg)
    # /g.*m/ という正規表現にマッチする部分文字列を探す
    # 正規表現で /./ 任意の文字に, /*/ は 0 個以上繰り返しを表す
    # g と m の間に任意の文字がなくても, いくつあっても良いということをいみする
    
    y = match("programming", /g.*m/)
    print "y = " y
    print "RSTART = " RSTART # 適合した最初の文字位置
    print "RLENGTH = " RLENGTH # 適合した部分文字列の長さ
}

scpt8_1.awk の実行結果は:

[cactus:~/code_awk/tuts]% ./scpt8_1.awk
x = 5
z = 3
3
21
5
0
6
22
y = 4
RSTART = 4
RLENGTH = 5

Table Of Contents

Previous topic

正規表現とパターンマッチング

Next topic

文字列関数 (2)