【问题标题】:Lua string.gsub without printing match countLua string.gsub 不打印匹配计数
【发布时间】:2012-03-12 00:12:38
【问题描述】:

令人沮丧的是,我之前的任何 Lua 尝试都在 Google 中广泛搜索或多或少相同的 Lua 资源,然后产生了一些多行代码来获取基本内容,即我通过简单的命令从 Python 获得。

同样,我想从字符串中替换子字符串,并使用即:

string.gsub("My string", "str", "th")

导致:

我的东西 1

我想替换计数可能很有用,但默认情况下谁会期望它,并且没有选项来抑制它,但也许我错过了什么?

如何只打印字符串结果,没有计数器?

【问题讨论】:

    标签: lua


    【解决方案1】:

    用括号括起来:(string.gsub("My string", "str", "th"))

    【讨论】:

    • 只是为了更清楚地说明它的工作原理 - string.gsub 周围的括号将表达式强制转换为单个值(第一个值或 nil)。 See manual for details.
    【解决方案2】:

    结果只是一个问题,因为您使用的是print,它接受多个参数。 Lua 允许多个赋值,所以通常代码看起来像

    newstr, n = string.gsub("My string", "str", "th")
    

    但只有在有地方放置时才会提供计数,所以

    newstr = string.gsub("My string", "str", "th")
    

    也很好,并导致计数被丢弃。如果您直接使用print(同样适用于return),那么您应该将调用括在括号中以丢弃除第一个结果之外的所有结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-15
      • 2015-05-18
      • 2015-03-13
      • 1970-01-01
      • 2019-01-02
      • 2014-10-04
      • 1970-01-01
      相关资源
      最近更新 更多