Lua中的string.gsub函数可以用于查找和替换文本中的匹配项。默认情况下,该函数还会打印出发现的匹配数。如果你不想显示匹配数量,可以在调用该函数时添加一个参数。在第四个参数位置传入1即可。这将告诉函数不要打印匹配数量。例如:string.gsub("Hello, World!", "o", "X", 1)会将字符串中的第一个"o"替换为"X",并且不会输出任何匹配数量信息。

令人沮丧的是,我之前尝试使用 Lua 时,在广泛的 Google 搜索相同的 Lua 资源时,最终需要编写一些多行代码才能完成基本任务,而这些基本任务在 Python 中只需要简单的命令就能实现。

同样,我想要替换字符串中的子字符串,例如:

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

这将得到:

My thing 1

我想替换计数可能是有用的,但是谁会默认期望它呢?而且没有禁止它的选项,也许我错过了什么?

如何只打印字符串结果而不打印计数?

原文链接 https://stackoverflow.com/questions/9660244

点赞
stackoverflow用户107090
stackoverflow用户107090

将以下内容括在括号中:(string.gsub("My string", "str", "th"))

2012-03-12 00:13:56
stackoverflow用户622310
stackoverflow用户622310

结果只是一个问题,因为您正在使用 print,它可以使用多个参数。 Lua 允许多个赋值,所以通常代码会像这样:

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

但是只有在有地方放置计数时才提供计数,因此

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

也可以,这会导致计数被丢弃。如果您直接使用 print(同样适用于 return),则应在调用中括起来以丢弃除第一个结果以外的所有结果。

2012-03-12 00:27:42