我使用的是Ruby2.4和Rails 5。
5、8、10
我如何获取上面的数组和一个字符串,并形成被上述索引拆分的字符串数组?FOr实例,如果字符串为
abcdefghijklmn并根据上面的索引对其进行拆分,我将得到一个包含以下字符串的数组
abcde
fgh
ij
klmn发布于 2017-01-09 04:23:11
尝尝这个
str = "abcdefghijklmn"
positions = [5, 8, 10]
parts = [0, *positions, str.size].each_cons(2).map { |a, b| str[a...b] }
# => ["abcde", "fgh", "ij", "klmn"]或,
如果位置是恒定的并且在运行前就知道了(例如,如果它们是电话号码或信用卡的格式),那么只需使用regexp
str.match(/(.....)(...)(..)(.*)/).captures
# => ["abcde", "fgh", "ij", "klmn"]发布于 2017-01-09 08:16:19
这将完成工作
str = "abcdefghijklmn"
arr_1 = [5, 8, 10]
arr_2, prev = [], 0
(arr_1.length + 1).times do |x|
if arr_1[x] == nil then arr_1[x] = str.size end
arr_2 << str[prev..arr_1[x] -1]
prev = arr_1[x]
end
p arr_2
---------------------------------------
Program Run Output
["abcde", "fgh", "ij", "klmn"]
---------------------------------------我希望这能帮到你
https://stackoverflow.com/questions/41537404
复制相似问题