gpt4 book ai didi

ruby - 使用正则表达式搜索 Ruby 数组

转载 作者:数据小太阳 更新时间:2023-10-29 07:02:15 33 4
gpt4 key购买 nike

您好,我有一个小的 ruby​​ 函数,可以按如下方式拆分出一个 Ruby 数组:-

def rearrange arr,from,to
sidx = arr.index from
eidx = arr.index to
arr[sidx] = arr[sidx+1..eidx]
end

arr= ["Red", "Green", "Blue", "Yellow", "Cyan", "Magenta", "Orange", "Purple", "Pink", "White", "Black"]
start = "Yellow"
stop = "Orange"

rearrange arr,start,stop
puts arr.inspect
#=> ["Red", "Green", "Blue", ["Cyan", "Magenta", "Orange"], "Cyan", "Magenta", "Orange", "Purple", "Pink", "White", "Black"]

我需要在开始和停止搜索时使用正则表达式,例如

开始 = "/Yell/"

停止 = "/Ora/"

在 Ruby 中有没有一种简单的方法可以做到这一点?

最佳答案

当然是方法index可以收到一个 block ,这样你就可以做

sidx = arr.index{|e| e =~ from }

您甚至可以查看 Ruby 的“大小写相等”运算符,轻松地将字符串和正则表达式作为参数:

sidx = arr.index{|e| from === e} # watch out: this is not the same as 'e === from'

然后,如果您将正则表达式作为 from 传递,它将执行正则表达式匹配,如果您传递一个 String,它将查找精确的字符串。

关于ruby - 使用正则表达式搜索 Ruby 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12385572/

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