/Joe Bloggs/)-6ren">
gpt4 book ai didi

ruby - 如何将正则表达式作为参数传递给函数?

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:58 24 4
gpt4 key购买 nike

以下代码行从下拉列表中正确选择“Joe Bloggs”:

browser.select_list(:id => "ListOwnerID").option(:text => /Joe Bloggs/).select # edited: added '.select'

如何将所有者的姓名作为变量“list_owner”传递?

类似于:

def set_list_owner(list_owner)
browser.select_list(:id => "ListOwnerID").option(:text => /list_owner/).select
end

用法:

set_list_owner("Joe Bloggs")

最佳答案

您可以使用 Regexp::new :

re_string = '\d'
Regexp.new(re_string) =~ 'abc 123'
# => 4

建议的替代 Cary Swoveland(正则表达式插值):

/#{re_string}/

def set_list_owner(list_owner)
browser.select_list(:id => "ListOwnerID").option(:text => Regexp.new(list_owner))
end

set_list_owner("Joe Bloggs")

如果您想按字面匹配字符串,而不是将其解释为正则表达式,请使用 Regexp::escape :

Regexp.new(Regexp.escape(list_owner))

关于ruby - 如何将正则表达式作为参数传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26205078/

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