2011-07-14 10 views
5

Luaのパターンマッチに変数を入れることが可能かどうか疑問に思っています。パターン一致のlua変数

var = "hello" 
pattern = string.match(datasource, "(var)%s(a%+)") 

これは、変数「var」が定期的に変更されるためです。 (それがループ内であろう)を予め

答えて

9

Luaは、引用符の内部で文字列補間を処理しません。代わりに、パーツをvarリファレンスとして連結し、残りを引用文字列として連結する必要があります。 「(」文字列リテラルとして、変数を連結し、文字列リテラルと文字列の残りの部分をオフに終了します。

5

使用"("..var..")%s(a%+)"代わりに

乾杯。

1

私は私が思う同じ事、パターン内の変数を必要と

"("..var..")%s(a%+)"開始私はそれが誰かを助ける場合に私の解決策を投稿していますが、そのようなネット上で他のものを見つけられませんでした

私は ':'区切りファイル名前:tel)を入力し、ファイル名で検索し、名前と電話番号を回答にしたい場合は、

local FileToSearch = h:read'*a' -- Read all the file 
var = io.read() -- ask the name 
string.gmatch(FileToSearch, ''..var..': '..'%d+') -- search for name, concatenate with number 
関連する問題