gpt4 book ai didi

parsing - Rexx - 解析 CSV 行 (';' 分隔符)

转载 作者:行者123 更新时间:2023-12-01 08:09:54 24 4
gpt4 key购买 nike

我知道我们可以用类似的东西解析 CSV 行(';'分隔符):

delim = ';'
myline="i;want;to;know;what;love;is"
parse var myline w1 (delim) w2 (delim) w3 (delim) w4 (delim) w5 (delim) w6 (delim) w7
say w1 w2 w3 w4 w5 w6 w7

我想知道是否有一种方法可以简化“w# (delim)”的迭代,以便执行类似的操作:

parse var myline w1 (delim) w2 (delim) ... (delim) w6 (delim) w7
/* then we will have all w1 to w7 defined

我可以用一些数组做一个函数来做到这一点,但它是否可以在 rexx 上原生实现,我只是想知道

谢谢

最佳答案

当然,如果您真正想要的是 n 个名为 w1w2、... wn 的变量:

do i = 1 by 1 while myline <> ''
parse var myline word (delim) myline
interpret "w" || i "= word"
end

但是 Rexx-y 方法是使用“词干数组”:

delim = ';'
do i = 1 by 1 while myline <> ''
parse var myline w.i (delim) myline
end
w.0 = i-1

甚至:

do i = 1 by 1 while myline <> ''
parse var myline w.i ';' myline
end
w.0 = i-1

完成后,您将得到一个数组 w.,它在 w.0 中计数,在 中包含 n 个单词>w.1, w.2, ... 通过 w.n。这更好,因为 Rexx 对 . 之后的部分有特殊处理:您可以使用任何变量,并且将使用它的值。所以打印所有这些词只是:

do i = 1 to w.0
say w.i
end

或者重新组装它们只是:

line = ""
do i = 1 to w.0
line = line || w.i || ';'
end

关于parsing - Rexx - 解析 CSV 行 (';' 分隔符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15437494/

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