Luaの文字列操作 ②ある文字列から特定文字列を探す。

次のありがちな課題として、ある文字列中に特定の文字列があるかを確認してみます。たとえば、文字列「mmmmmmmmnnnmmmmmmnnmmmmmmnnnmmnmmnmmnmmmmnnnnmm」の中に「nnnn」は存在するでしょうか?



こんなときにはstring.find()に4つの引数を与えて利用します。4つの引数を与える場合の、string.findはstring.find( 探す元の文字列, 探し出す文字列 , 探すのを開始する場所 , plainフラグ )です。plainにtrue指定をします。


> s="mmmmmmmmnnnmmmmmmnnmmmmmmnnnmmnmmnmmnmmmmnnnnmm"
> pos=string.find( s , "nnnn" , 1 , true )
> print( pos )
42



文字列の中に「nnnn」ありました。

42番目からnnnnが始まるようですね。



リファレンスマニュアルで確認しておきましょう。

http://sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html