我有以下字符串
"summary"=>”Amazing (games) - Master"
我想获取值 - v1 =惊人,v2 =游戏。
如何在轨道上使用ruby执行此操作?
答案 0 :(得分:1)
regular expression使用named captures。
EXP = /^(?<v1>\w*)\s*\(\w*\)\s*-\s*(?<v2>\w*)$/.freeze
matches = value.match(EXP)
puts matches[:v1]
puts matches[:v2]
答案 1 :(得分:0)
你必须在所有字符串上找到一些常见的东西,你可以将它们用作分隔字符串的分隔符:
summary = "Amazing (games) - test"
v1, v2 = summary.split("(")
v2 = v2.split(")")[0]
puts v1
puts v2
答案 2 :(得分:0)
没有正则表达式,你可以做
v1, v2 = summary.split(')').first.split('(').map(&:strip)