有谁知道如何将匹配的正则表达式作为字符串并将其存储在变量中?如果我的字符串为"police"
且我的正则表达式匹配它以获得"ice"
的结果,那么我如何将"ice"
存储在变量中?我的猜测是match
,scan
和to_s
方法。
我计划使用存储的字符串(使用正则表达式)传递给RAILS中aws-sdk
的树接口方法中的:prefix选项,以与aws-s3对象进行交互。
答案 0 :(得分:1)
有很多方法可以在Ruby中使用正则表达式。使用match
运算符,您将获得一个MatchData对象,该对象可以使用to_s
方法转换为String。如果你的正则表达式不匹配,你将得到nil而不是MatchData对象。
my_match = /ice/.match("police");
my_var = my_match.to_s;
或者一下子就这么做。如果正则表达式不匹配,则会得到一个空字符串。
my_var = /ice/.match("police").to_s;
答案 1 :(得分:0)
有很多选择,但是:
my_variable = /ice/.match("police")[0]
会将匹配的表达式分配给my_variable