Split a string using string.gmatch() in Lua

后端 未结 3 1277
南笙
南笙 2020-12-15 11:35

There are some discussions here, and utility functions, for splitting strings, but I need an ad-hoc one-liner for a very simple task.

I have the following string:

3条回答
  •  遥遥无期
    2020-12-15 11:48

    Just changing * to + works.

    local s = "one;two;;four"
    local words = {}
    for w in s:gmatch("([^;]+)") do 
        table.insert(words, w) 
        print(w)
    end
    

    The magic character * represents 0 or more occurrene, so when it meet ',', lua regarded it as a empty string that [^;] does not exist.

提交回复
热议问题