index = 文字列の登場位置を調べる - AWK
○(文字数)Gawk on Windows ○(文字数)Gawk ○(バイト数)mawk32 ○(全角不可)Mawk ○(全角不可)awk
文字列の登場位置を調べます。**** 書式
--------
index( 検索対象文字列, 検索語句 )
--------
o 検索対象文字列
o 検索語句 -- 検索する文字列です。
+ 正規表現で検索したい時は、matchを使います。
o 戻り値 -- キーワードが見つかった位置(先頭は1)。
+ 文字を数える時の単位は、処理系によって異なります。詳細は、下の通りです。
+ 見つからない時は 0を返します。
o 文字を数える時の単位は、処理系によって異なります。
+ (漢字などの全角文字が混じっている場合、長さが変わります。)
+ Gawk系は、文字数で数えます。
+ Gawk on Windows 3.1.7
+ Gawk for Windows 3.1.6
+ その他は、バイト数で数えます。
+ mawk MBCS (32bit版) 1.3.3
+ 但し、全角文字を使うと、結果不正になる事のある処理系もありました。
+ Mawk for Windows 1.3.3
+ original = the one true awk(updated May 1, 2007)
**** 使用例
--------
BEGIN {
print index("ミクさん、おはようございます。", "ミクさん"); # 1
print index("おはようございます。ミクさん。", "。"); # 10 (or 19)
print index("おはようございます。ミクさん。", "MEIKOさん"); # 0
print index("39さん、おはようございます。", 39); # 1
print index(1239.039, 39); # 3
}
--------
o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。
**** 機能
o 2番目に指定した文字列を使って、1番目の文字列を検索します。
o 先頭で見つけた時、1を返します。
+ 先頭は0ではありません。JavaScriptに慣れている方は、要注意です。
o 見つからなかった時、0を返します。
o 複数見つけた時、先頭に最も近い位置を返します。
o 文字列の代わりに数値を指定すると、数値を文字列に変換してから使用します。
+ 長い整数を指定すると、最後の方の桁が0になったり、浮動小数点形式になります。
+ 実数を指定すると、6桁までに丸めたり、浮動小数点形式になります。
+ この動作は変える事も出来ます。詳しくは、「数値から文字列にする時に、実数を7桁以上表示させる方法」
** 処理系に依存する動作
o 文字を数える時の単位は、処理系によって異なります。
+ 文字数で数える処理系
+ Gawk on Windows 3.1.7
+ Gawk for Windows 3.1.6
+ バイト数で数える処理系
+ mawk MBCS (32bit版) 1.3.3
+ バイト数で数える処理系、かつ全角文字を使うと結果不正になる事のある処理系
+ Mawk for Windows 1.3.3
+ original = the one true awk(updated May 1, 2007)
**** メモ
o Gawk on Windows 3.1.7は、バイト数で数えさせる事も出来ます。オプション「 -Wctype=ASCII」を追加します。
**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3 -- バイト数で数える
o Mawk for Windows 1.3.3 -- バイト数で数える。全角不可。関数が非対応
o original = the one true awk(updated May 1, 2007) -- バイト数で数える。全角不可。処理系が非対応
==
関連ページ:
▼AWKの文字列操作関数と関連機能(▼ABC順)
▼AWKプログラムを書く(▼ABC順)
▼AWK
▼制作メモ
> match = 正規表現の登場位置を調べる
substr = 文字列の一部を取り出す
int = 実数や文字列を整数化する
+
length = 文字列や配列の長さを調べる
IGNORECASE = 文字列比較の時に、大文字小文字を区別させない(Gawk専用)
(2010年10月4日変更。Gawk on WindowsのACSIIオプションは、-Wとctypeの間を詰める)
(2010年6月20日追加。Gawk on Windowsには、バイト数を数えさせる方法がある)
(2010年6月10日追加。数値を指定した時の動作)