首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从包含numbers+characters的字符串中提取数字到Ruby中的数组中?

如何从包含numbers+characters的字符串中提取数字到Ruby中的数组中?
EN

Stack Overflow用户
提问于 2017-11-16 17:37:17
回答 1查看 4.9K关注 0票数 3

我有包含整数和字符的字符串,我需要提取数组中的所有数字,例如:

代码语言:javascript
复制
str = "achance123for84faramir3toshowhis98quality"
#=> [123, 84, 3, 98] #Desired output

我很难把它们组合在一起。我试过:

代码语言:javascript
复制
str.split('').select {|el| el.match(/[\d]+.*/)}
#=> ["1", "2", "3", "8", "4", "3", "9", "8"]

str.split('').select {|el| el.match(/[\d]+[\D]+/)}
#=> []

如何维护所有整数的分组并将它们列在数组中?假设它只包含数字和字符(A)。没有空格/非单词字符。一切都会被降低。

(它们不必转换为整数。我只是很难把他们分成几个组。如果没有Regex的解决方案,那也太棒了!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-16 17:44:54

尝试使用String#scan,如下所示:

代码语言:javascript
复制
str.scan(/\d+/)
#=> ["123", "84", "3", "98"]

如果您想要整数而不是字符串,只需向其添加map

代码语言:javascript
复制
str.scan(/\d+/).map(&:to_i)
#=> [123, 84, 3, 98]
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47335945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档