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

2023-12-02

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

str = "achance123for84faramir3toshowhis98quality"
#=> [123, 84, 3, 98] #Desired output

我无法将它们组合在一起。我努力了:

str.split('').select {|el| el.match(/[\d]+.*/)}
#=> ["1", "2", "3", "8", "4", "3", "9", "8"]

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

如何维护所有整数的分组并将它们列在数组中?假设它将包含only数字和字符 (a-z)。没有空格/非单词字符。全部都是小写。

(它们不必转换为整数。我只是在使用正则表达式将它们分组时遇到问题。如果有一个没有正则表达式的解决方案,那就太棒了!)


尝试使用String#scan, 像这样:

str.scan(/\d+/)
#=> ["123", "84", "3", "98"]

如果你想要整数而不是字符串,只需添加map to it:

str.scan(/\d+/).map(&:to_i)
#=> [123, 84, 3, 98]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从包含数字+字符的字符串中提取数字到Ruby中的数组中? 的相关文章

  • 如何在正则表达式中编写可选单词?

    我想编写一个识别以下模式的 java 正则表达式 abc def the ghi and abc def ghi 我试过这个 abc def the ghi 但是 它没有识别第二种模式 我哪里出错了 abc def the ghi 删除多余
  • 平衡付款 - 有关获取现有买家和商家账户参考信息的文档

    我如何获得已创建的买家和商家帐户的参考 我只是找到创建买家和商家帐户的示例 我没有找到任何有关获取该信息以供重用的示例 是否有关于此的现有文档或只是 rdoc 中的内容 根据对 rdoc 的引用 我假设您在这里使用 Ruby gem 使用唯
  • Rails:将参数从视图传递到控制器

    我在 Rails 中有以下模型 class Task lt ActiveRecord Base attr accessible description name project belongs to project validates na
  • 如何比较 JavaScript 表格中的单元格并测试是否相等? indexOf 是如何工作的?

    我在 HTML 代码中创建了一个表格 它有 9 列和 13 行 它被 JavaScript 循环完全填满 该循环用几个数组中的人名填充它 但是 我想添加一个验证步骤 确保一行中没有两个单元格具有相同的值 并且每个单元格的值不会在其正下方的单
  • 通过字符串操作预防 PHP SQL 注入[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 中防止 SQL 注入的最佳方法 https stackoverflow com questions 60174 best way to prevent sql injection in php
  • sed - 删除行尾的句点

    我正在尝试删除文本文件中行尾的句点 有些行末尾有句点 有些则没有 cat textfile sometexthere 123 22 no period moretext with period lt remove this period n
  • ruby CSV重复行解析

    我有一些需要处理的 CSV 数据 但无法找到匹配重复项的方法 数据看起来有点像这样 line id name item 1 item 2 item 3 item 4 1 251 john foo foo foo foo 2 251 john
  • 验证项目是否在开始日期和结束日期内

    我有一个java程序 它将检查每个项目的开始日期和结束日期 每个项目必须有自己特定的开始日期和结束日期范围 如果新的开始日期和结束日期的范围落在旧的开始日期和结束日期内 系统将提示错误消息 例如 Company ABC Item Numbe
  • 替换第二个和第三个下划线之间的任何内容

    我有一个 PowerShell 脚本行 它用 替换 删除 第二个和第三个下划线之间的字符 get childitem pdf rename item newname name replace p L p L 例子 12345 00001 L
  • PostgreSQL & regexp_split_to_array + 取消嵌套

    我有这样的绳子 测试1 纽约 X 测试 2 芝加哥 Y 测试 3 宾夕法尼亚州哈里斯堡 Z 我需要的结果是 Column1 Column 2 Column3 Test 1 new york X Test 2 chicago Y Test 3
  • 为什么零长度 VLA 是 UB?

    2011年标准明确规定 6 7 6 2 数组声明符 如果大小是一个不是整数常量表达式的表达式 如果它出现在 在函数原型范围内声明 它被视为被替换为 否则 每次评估时 其值都应大于零 每个实例的大小 变长数组类型的值在其生命周期内不会改变 其
  • 子字符串和 Go 垃圾收集器

    在 Go 中获取字符串的子字符串时 不会分配新的内存 相反 子字符串的底层表示包含一个数据指针 该指针是原始字符串的数据指针的偏移量 这意味着 如果我有一个大字符串并希望跟踪一个小子字符串 则垃圾收集器将无法释放任何大字符串 直到我释放对较
  • 如何从字符串中分离字符和数字部分

    例如 我想分开 OS234 to OS and 234 AA4230 to AA and 4230 我使用了以下简单的解决方案 但我确信应该有一个更有效和更强大的解决方案 private void demo string cell ABCD
  • Ruby `split':UTF-8 中的无效字节序列(ArgumentError)

    我正在尝试填充电影对象 但是在解析时u item文件我收到此错误 split UTF 8 中的无效字节序列 ArgumentError File open Data u item r do infile while line infile
  • 日期时间到 NSDate

    如何转换字符串2010 11 19T20 00 00Z进入一个NSDate object 我尝试过使用 dateFormatter setDateFormat yyyy MM ddTHH mm ssZ 但看起来我的自定义格式样式错误 PS
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • Mac OSX 10.7.4,Xcode 4.4.1,没有 头文件?

    我正在编写一个程序 它将使用 C 标准库的数组容器来保存一些对象 但是 每当我尝试在程序中包含以下代码行时 include
  • 什么正则表达式永远无法匹配?

    Merged https meta stackexchange com questions 158066 what is a merged question with 永远不会与任何内容匹配的正则表达式 questions 1723182
  • 如何按元素添加两个 Rust 数组?

    这绝对是一个初学者问题 但我搜索了半个小时后找不到任何有用的东西 我有 Rust 1 7 0 和这段代码 type coord i64 3 add two coordinates vectors pointwise that is if z
  • 为什么 JavaScript 中是 [1,2] + [3,4] = "1,23,4" ?

    我想将一个数组的元素添加到另一个数组中 所以我尝试了以下方法 1 2 3 4 它的回应是 1 23 4 到底是怎么回事 The 操作员没有为数组定义 发生的事情是 JavaScript将数组转换为字符串并将它们连接起来 Update 由于这

随机推荐

  • 在 Razor 视图中根据需要创建字段

    我想在剃刀视图中根据需要创建一个文本框字段 我无法使用验证属性 Required 因为字段名称是动态生成的 我检查了这个答案这设置了data val required字段到true使用 JavaScript 有没有其他方法可以做到这一点 因
  • 突出显示 matplotlib 图中的任意点

    我是 python 和 matplotlib 的新手 我试图突出显示 matplotlib 中现有绘图中符合特定标准的几个点 初始绘图的代码如下 pl plot t y pl title Damped Sine Wave with 1f H
  • IntelliJ IDEA + Gradle - 如何记录从 IDE 运行的长时间运行的 Gradle 任务?

    IntelliJ IDEA 有时需要很长时间来执行 Gradle 刷新任务或运行 Gradle 任务 它会旋转很长一段时间 让你想知道它到底旋转了多远 或者它是否在做任何事情或冻结了 例如 这已经运行了很长时间 但我没有办法看到发生了什么
  • Java中的字符串表示

    字符串在 Java 中表示为对象 因此 一个对象包含存储在实例变量对象内 对象还包含对该对象进行操作的代码体 这些代码体称为methods 包含相同类型值和相同方法的对象被分组为类 类可以被视为这些对象的类型定义 那么 Java中的Stri
  • 检查或查找值是否存在于另一列中

    这应该很容易 但我就是不明白出了什么问题了 我有 3 列 第一列和第三列有数字 我希望第二列显示第 1 列中的数字是否存在于第 3 列中 我在网上找到了一个代码 IF ISERROR VLOOKUP A7 C 2 C 3400 1 FALS
  • ASP.Net MVC 长时间运行进程

    我需要为不同的财务周期生成报告屏幕 由于这是一个相当大的数据集 包含很多规则 因此该过程可能需要很长时间才能运行 某些报告返回需要一个多小时 在 MVC 中处理这种情况的最佳方法是什么 我担心 屏幕锁定 表现 可用性 请求超时 这些确实是合
  • 如何在Xcode中使用svn合并冲突(文件project.pbxproj)?

    我们团队中有两名成员 我们使用Xcode的SCM 使用SVN 来管理我们的源代码文件 我们都将文件添加到我们的 Xcode 项目中 他已经致力于SVN服务器 当我更新时 Xcode发现有冲突project pbxproj文件 然后我选择退出
  • 为什么在 Ruby 中 splat 后可以有必需参数,但不能有可选参数? [复制]

    这个问题在这里已经有答案了 这在 Ruby 中是可能的 class SomeClass def initialize a b c end end 但这不是 class SomeClass def initialize a b c anyth
  • 从继承的变量构造派生类

    也许标题有点令人困惑 所以我会尽力确保它尽可能清晰 基本上 我正在尝试创建一个游戏 其中有一个名为 Creature 的抽象基类 并且在其下有几个派生的幻想生物类 现在我的问题是 如果我有一个具有受保护变量 intstrength 和 in
  • 适应(求解)复杂方程的算法(隐式函数 f(x,y) )

    我正在尝试调整一些方程 隐式 f x y 以便能够列出相应 X 值的 Y 方程可以是例如如下 y 2 x 3 2x 3xy X 2 y 2 1 3 x 2y 3 0 X 3 y 3 3xy 2 x 1 X 3 y 2 6xy sqrt y
  • 容器启动失败。启动失败,然后监听 PORT 环境变量定义的端口

    我构建了容器映像 但是当我尝试从gcloud在命令行或 Cloud Console 中 我收到以下错误 容器无法启动 无法启动并侦听 PORT 环境变量定义的端口 在您的代码中 您可能没有侦听传入的 HTTP 请求 或者您正在侦听错误端口上
  • mb_strlen() 和 strlen() 不会从对 PHP 的 Ajax 调用返回正确的值

    如何在 PHP 中添加对传递的 username 长度的检查 该网站是 UTF 8 但我相信 Javascript 使用不同的编码 你可以在评论中看到我在 PHP 中尝试了不同的东西 但它们不起作用 我尝试过但没有成功的方法 PHP 是一个
  • Twitter4j 中 Twitter 用户的电子邮件

    twitter4j 可以获取授权应用程序 网站的 Twitter 用户的电子邮件吗 我能够得到如下的屏幕名称 User user twitter showUser id String screenName user getScreenNam
  • Composer.json 中的 require 和 require-dev 部分有什么区别?

    我开始使用 Composer 我对它知之甚少 并且对 Web 应用程序开发有一些经验 我只是走过Nettuts 教程 所以我有关于作曲家的基本问题 require laravel framework 4 0 way generators d
  • 在 VB.NET 中创建控件数组

    如何制作控制数组 或等价物 我习惯使用 Visual Basic 6 它在复制粘贴和控件时提供是否创建控件数组的选项 控制阵列早已不复存在 面向对象的方法现在已成为 VB 的法则 您需要使用某种类型的集合 例如list
  • Eclipse 如何找到 JRE 或 JDK 位置?

    根据 Eclipse 常见问题解答 我读到了 Eclipse DOES NOT consult the JAVA HOME environment variable 我的疑问是 eclipse 是如何初始化的Virtual Machine
  • 使用 AppleScript 更改文件夹的图标?

    我创建了一个对我非常有帮助的AppleScript 我希望是否可以自动更改文件夹图标 该脚本非常简单 它创建一个文件夹 然后在同一文件夹中创建一个空文本文件 这是脚本 tell application Finder set newfolde
  • 运行时错误 440 VB6

    我创建了一个基于 ocx 文件的 exe 程序 并使用 VB 打包和部署向导将 exe 文件作为程序安装在非 vb 环境中 问题是运行该程序时出现此错误 运行时错误 440 自动化错误 您认为问题出在哪里 Thanks 440自动化错误通常
  • 用 5 位二进制补码表示有符号数的最高和最低整数是多少?

    我了解二进制的工作原理 并且可以将二进制计算为十进制 但我对带符号的数字感到困惑 我找到了一个计算器进行转换 但我不确定如何找到最大值和最小值 或者在未给出二进制数的情况下进行转换 并且 StackO 中的问题似乎是关于转换特定数字或不包括
  • 如何从包含数字+字符的字符串中提取数字到Ruby中的数组中?

    我有包含整数和字符的字符串 我需要提取数组中的所有数字 例如 str achance123for84faramir3toshowhis98quality gt 123 84 3 98 Desired output 我无法将它们组合在一起 我