如何使用String split []

时间:2014-12-31 05:55:43

标签: ruby string input split

字符串是Ticket-178(好)就像这样..

我想分开178,好这个分裂......

我该怎么办?

票证178(坏)

我想拆分并输入像这样。

178输入A变量

错误输入B变量..

3 个答案:

答案 0 :(得分:1)

喜欢这个吗?

string  = 'Ticket-178(Bad)'

matches = /(\d+)\((.+)\)/.match(string)
matches[1] # => "178"
matches[2] # => "Bad"

答案 1 :(得分:1)

这是你需要的吗?

test1 = "Ticket-178(Good)"
test2 = "Ticket-178(Bad)"

def parse_ticket(str)
   str.match(/(\d+)\((\w+)\)/) do |match|
     return [match[1],match[2]]
 end
end

parse_ticket test1 # => ["178", "Good"]
parse_ticket test2 # => ["178", "Bad"]

答案 2 :(得分:0)

使用split

a = "Ticket-178(Bad)"
res = a.split(/\(|\)/)
#=> ["Ticket-178", "Bad"]
first_val = res.first.scan(/Ticket-(.*)/)[0][0]
#=> "178"
sec_val = res.last
#=> "Bad"

尽管在@spikermann的答案中直接使用扫描是一种更好的方法。