如何将数字从字符串中提取到单独的数组中

Bit*_*ise 0 ruby ruby-on-rails

鉴于此字符串

"In 2015, I want to know how much does iPhone 6+ cost?"
Run Code Online (Sandbox Code Playgroud)

我该怎么回事[2015, 6]

我的第一次尝试是

numbers = str.tr("^0-9", '')
Run Code Online (Sandbox Code Playgroud)

但那会产生20156.

eml*_*lai 8

你可以使用scan:

numbers = str.scan(/\d+/)
# => ["2015", "6"]
Run Code Online (Sandbox Code Playgroud)

  • 为整数添加`.map(&:to_i)`,并为可能的负值添加`/\ - ?\ d + /`. (9认同)