Lua 中如何将一个字符串插入到另一个字符串中?

Lua 中是否有一个函数可以在给定位置插入一个字符串到另一个字符串中,并返回插入后的字符串?

例如:string.insert(str1, str2, pos)

使用它的方式为:string.insert('Hello World!', 'My ', 6) 将变为 Hello My World! 等等。

点赞
用户107090
用户107090

标准的Lua库中没有这种函数。但很容易编写一个:

function string.insert(str1, str2, pos)
    return str1:sub(1,pos)..str2..str1:sub(pos+1)
end

注意它自动处理负位置(*),即从字符串的末尾开始计数,就像大多数其他字符串函数一样。

(*)需要进行小修改以使pos=-1起作用。

2020-01-02 10:39:04