【发布时间】:2012-07-07 16:46:15
【问题描述】:
我刚刚开始学习 Lua 模式。
我有一个字符串
|2|34|56|1
如何从字符串中提取数字?
我可以手动解析字符串并排除所有'|'人物。但我确信使用 Lua 模式会简单得多。
模式在这种情况下有何帮助?
【问题讨论】:
标签: string lua lua-patterns
我刚刚开始学习 Lua 模式。
我有一个字符串
|2|34|56|1
如何从字符串中提取数字?
我可以手动解析字符串并排除所有'|'人物。但我确信使用 Lua 模式会简单得多。
模式在这种情况下有何帮助?
【问题讨论】:
标签: string lua lua-patterns
如果您只想打印这些数字,最好的方法是:
str = "|2|34|56|1"
str:gsub("%d+", print)
否则,如果您希望将数字存储在表格中,则需要更长的方法:
str = "|2|34|56|1"
local tFinal = {}
str:gsub( "%d+", function(i) table.insert(tFinal, i) end)
table.foreach(tFinal, print) -- This is only to verify that your numbers have been stored as a table.
【讨论】:
"|2|34|a|1|ba"
|2|34|a|1|ba,我也想提取字符串。我需要解压2,34,"a",1,"ba" 可以吗?
"[^|]+" 而不是"%d+"。