Lua: 替换字符串中特定词语的出现次数

我想要将字符串中所有的 abc 替换成 xyz,如下所示:

以下必须被替换成 xyz:

abc 前后带有空格的 ,abc abc, abc; abc.

但是以下内容必须保持不变:

abc 作为其他单词的一部分,如 aabcdabcdef abc 前后有 _ 的情况,如 abc__abc

我尝试了以下代码但未成功:

string.gsub(str,'%W'.."abc"..'%W', "xyz")

或者

string.gsub(str,'[ ,]'.."abc"..'[ ,.;]', "xyz")

在 Lua 中是否可能实现这个功能?请指教。谢谢

点赞