【问题标题】:Lua - extract a string using patternsLua - 使用模式提取字符串
【发布时间】:2012-07-07 16:46:15
【问题描述】:

我刚刚开始学习 Lua 模式。

我有一个字符串 |2|34|56|1

如何从字符串中提取数字?

我可以手动解析字符串并排除所有'|'人物。但我确信使用 Lua 模式会简单得多。

模式在这种情况下有何帮助?

【问题讨论】:

    标签: string lua lua-patterns


    【解决方案1】:

    如果您只想打印这些数字,最好的方法是:

    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" 可以吗?
    • @SatheeshJM,使用"[^|]+" 而不是"%d+"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    相关资源
    最近更新 更多