在铁轨上的红宝石中的两个字符串之间分裂的词

时间:2017-11-20 15:42:14

标签: ruby-on-rails

我有以下字符串

"summary"=>”Amazing (games) - Master"

我想获取值 - v1 =惊人,v2 =游戏。

如何在轨道上使用ruby执行此操作?

3 个答案:

答案 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)