gpt4 book ai didi

string - Lua中将字符串分割成二维表

转载 作者:行者123 更新时间:2023-12-02 19:43:26 25 4
gpt4 key购买 nike

假设我有这个字符串:

map_data = "     *-*  ;    /|x|\ ;   *-*-*-*;  /|x|x|x|;-*-*-*-*-*;  \|x|x|x|;   *-*-*-*;    \|x|/ ;     *-*  ;"

我想在分号处将字符串拆分为有序表。完成此操作后,我想获取表中的每个元素并将每个字符拆分为有序表(嵌套在第一个表中)。这个想法是为 ascii 映射创建一个二维表。

我已经尝试过这个(但它不起作用,我也怀疑有更简单的方法):

map_data = "     *-*  ;    /|x|\ ;   *-*-*-*;  /|x|x|x|;-*-*-*-*-*;  \|x|x|x|;   *-*-*-*;    \|x|/ ;     *-*  ;"

map = {}

p = 1
pp = 1
for i in string.gmatch(map_data, "(.*);") do
map[p] = {}
for ii in string.gmatch(i, ".") do
map[p][pp] = ii
pp = pp + 1
end
p = p + 1
end

最佳答案

首先,字符串 map_data 无效,因为 \ 需要转义。或者您可以使用长字符串语法 [[ ... ]]:

map_data = [[     *-*  ;    /|x|\ ;   *-*-*-*;  /|x|x|x|;-*-*-*-*-*;  \|x|x|x|;   *-*-*-*;    \|x|/ ;     *-*  ;]]

模式(.*);的问题是,修饰符*是贪婪的。相反,使用惰性的 - 修饰符:

for i in string.gmatch(map_data, "(.-);") do

关于string - Lua中将字符串分割成二维表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34702595/

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