トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
Lua
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ String(文字列)


    文字列型は "", '' で囲む
    local s = "test"
    local s = 'test'

    -- 複数行にまたがるには [[ ]] でくくる
    local s = [[message
                test]]

    
___

■ 連結

    "aaa" .. "bbb"
___

■ 長さ

# でバイト数を返す
    -- 3
    print ( #"aaa" )

    -- 6( SJIS )
    print ( #"あいう" )

    -- 9( utf8 )
    print ( #"あいう" )

    -- 3
    string.len( "abc" )

    -- 9( utf8 )
    string.len( "あいう" )
___

■ 変換

"test" .. tostring( 1 ) -- 暗黙的に変換される "test" .. 1 -- Escape 文字使用可能 "foo\n" | 'bar\t' [[c:\foo\bar]] [[c:\foo \bar]]
___

■ 分割(split)

SYNTAX string.gmatch( string, pattern ) DESC split がないため gmatch で代用する。 gmatch はマッチしたすべての要素を順に返すイテレータ関数を返すため for - in と併用して文字列を分割する。

    local s = "d:/foo/bar/goo.txt";
    local a = {}
    for w in string.gmatch(s, "[^/]+") do
       table.insert(a, w);
    end

    for i=1, #a, 1 do
       print ( i .. " = " .. (a[i]) )
    end
___

■ 部分文字列

string.sub( string, s, e )
  local ret = string.sub( "aaa___bbb", 1, 3 );

  -- 7番目より後ろ
  local ret = string.sub( "aaa___bbb", 7 );
  print( ret );
___

■ match(検索)

SYNTAX string.match( string, pattern [, index ] ) DESC pattern にマッチする文字列を string から返す。 index が指定された場合は index の位置から検索をする。
    -- RET hello
    local ret = string.match("hello world", "%w+")

    -- RET f 
    string.match( "foobar", "[a-z]" );
___

■ find(インデックス検索)

SYNTAX string.find( string, regexp [, index ] ) RET start, end : マッチした文字列の開始, 終了位置インデックス nil : マッチしない場合 DESC regexp にマッチする文字列を string から検索して 開始、終了の index を返す。 index が指定された場合は index の位置から検索をする。
    -- 1, 4
    s, e = string.find( "test", "%a*");
    -- 4, 6
    local s, e = string.find ( "aaa___bbb", "___" )
-- 拡張子を返す
    path = "d:/foo/test.txt"
    local idx = string.find( path, '%.' )
    local ext = string.sub( path, 0, idx - 1 )    
    -- 1, 3
    local path = "c:/foo.txt"
    local s, e = string.find( path, "[Cc]:/" );
  string.upper();
  string.lower();
  string string.format("string %s", s)
    %-12s : 左寄せ.
    %+12d : [+-] 記号.
  string.gsub( s, ptn, d[, n] )

  s = string.gsub( "foo", "[a-z]", "c" );

  string.len( s );
  string.rep( s, n );  -- repeat
___

■ 反転

    -- "cba"
    string.reverse( "abc" )

















NINJAIDX 18