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

3
Lua是否有一个函数返回在给定位置插入到另一个字符串中的字符串?
例如:string.insert(str1, str2, pos)
使用方法: string.insert('Hello World!', 'My ', 6) 可以得到 Hello My World! 等结果。

1
str1 = str1:gsub("()", {[pos]=str2}) - Egor Skriptunoff
1个回答

5

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

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

请注意,它可以自动处理负数位置(*), 这些位置从字符串的末尾开始计数,就像大多数其他字符串函数一样。
(*) 它需要做出小改变以使pos=-1正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接