gpt4 book ai didi

Lua 如何在没有整个字符串的情况下替换表中的 1 个特定字符?

转载 作者:行者123 更新时间:2023-12-02 04:17:41 25 4
gpt4 key购买 nike

已经知道如何显示特定字符​​。

table {"abc"}
return string.sub(table[1], 2, 2)
b

但是想要替换表格中的 1 个特定字符而不改变整个字符串。

table = {"abc"}

table = {"axc"}

最佳答案

在 Lua 中,字符串是严格不可变的,所以它们本身不能改变

因此,实现此目的的唯一方法是创建一个包含所需内容的新字符串并将其插入到 table[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 具有相当强大的模式匹配和替换功能,例如 string.gsub ,这使您可以轻松替换更复杂的子字符串。 (来自 Programming in Lua 的使用示例可用 here )

关于Lua 如何在没有整个字符串的情况下替换表中的 1 个特定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26736239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com