Lua如何在没有整个字符串的情况下替换表中的1个特定字符?
已经知道如何显示特定的字符Lua如何在没有整个字符串的情况下替换表中的1个特定字符?,lua,Lua,已经知道如何显示特定的字符 table {"abc"} return string.sub(table[1], 2, 2) b 但是希望在不更改整个字符串的情况下替换表中的1个特定字符 table = {"abc"} 到 在Lua中,字符串是严格不可变的,因此它们本身不能更改 因此,实现这一点的唯一方法是使用所需内容创建一个新字符串,并将其插入表[1]。字符串是否在表中并不重要 例如,可以通过获取字符串的开头和结尾并将其与新部分连接来实现: local index = 2 -- The ch
table {"abc"}
return string.sub(table[1], 2, 2)
b
但是希望在不更改整个字符串的情况下替换表中的1个特定字符
table = {"abc"}
到
在Lua中,字符串是严格不可变的,因此它们本身不能更改 因此,实现这一点的唯一方法是使用所需内容创建一个新字符串,并将其插入
表[1]
。字符串是否在表中并不重要
例如,可以通过获取字符串的开头和结尾并将其与新部分连接来实现:
local index = 2 -- The character we want to change
table[1] = string.sub(table[1], 1, index - 1) .. "x" .. string.sub(table[1], index + 1, -1)
这将从字符串的开头提取所有字符,直到我们希望“替换”的字符之前的字符,追加新字符,然后追加不包括我们“替换”的字符的旧字符串的其余部分
然而,在大多数情况下,不建议使用这样的单个角色,因为Lua具有相当强大的模式匹配和替换功能,例如,它允许您轻松地替换更复杂的子字符串。(Lua编程中的使用示例可用)
local index = 2 -- The character we want to change
table[1] = string.sub(table[1], 1, index - 1) .. "x" .. string.sub(table[1], index + 1, -1)