Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua如何在没有整个字符串的情况下替换表中的1个特定字符?_Lua - Fatal编程技术网

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)