如何从字符串“REF产品:[标题:gr8vh1,id:1]”获取ID

时间:2016-07-11 10:03:32

标签: ruby

你好我有一个字符串列表

"REF Product: [Title: gr8vh1, id: 1]"
"REF Product: [Title: gr8vh1, id: 2434]"
"REF Product: [Title: gr8vh1, id: 324]"

如何从每个字符串中获取id,以便输出如下?

"REF Product: [Title: gr8vh1, id: 1]"
=> 1
"REF Product: [Title: gr8vh1, id: 2434]"
=> 2434
"REF Product: [Title: gr8vh1, id: 324]"
=> 324

3 个答案:

答案 0 :(得分:0)

尝试类似

的内容
"REF Product: [Title: gr8vh1, id: 1]".scan(/id: (\d+)/).flatten[0].to_i
=> 1

答案 1 :(得分:0)

如果Title永远不会以整数开头,我会看到一个更简单的模式:

str = "REF Product: [Title: gr8vh1, id: 2434]"
str[/ \d+/].strip #regex to find integer after whitespace
#=> "2434"

答案 2 :(得分:0)

您可以从此字符串创建Hash

h = Hash[s[/\[(.*)\]/, 1].split(", ").map(&:split)]
# => {"Title:"=>"gr8vh1", "id:"=>"1"}

puts h["id:"]
# => "1"