替换字符串 Lua 上的最后一个逗号

Replace last comma on string Lua

我有这个字符串

Apples, Oranges, Grapes

如何替换 最后一个逗号

还没有学到足够的模式,但我已经尝试了几种方法,例如

str:gsub(",$", "and", 1)

魔法字符 $ 是不是应该从末尾读取字符串 --> 开始?

我的问题变成了因为我使用 table.concat

连接数组
local str = "Apples, Oranges, Grapes"
print(str:gsub(",(%s+%w+)$", " and%1"))

你的table:

local t = {"Apples", "Oranges", "Grapes"}

方法#1: 使用“and”连接最后一项:

local s = #t > 1 
          and table.concat(t, ", ", 1, #t-1).." and "..t[#t] 
          or  table.concat(t, ", ")
print(s)  --> Apples, Oranges and Grapes

方法#2: 替换最后一个逗号:

local s = table.concat(t, ", ")
s = s:gsub("(.*),", "%1 and")
print(s)  --> Apples, Oranges and Grapes