ruby-on-rails - 使用正则表达式进行拆分而不删除分隔符

标签 ruby-on-rails ruby regex

OWENS CROSS ROA 530 LYONS ROAD

我需要将上面的行拆分为以下内容:

OWENS CROSS ROA

530 LYONS ROAD

分隔符是数字,即 530。

我需要读取最多 530 个,然后拆分为:

OWENS CROSS ROA
530 LYONS ROAD

我的尝试:

address.text.split(/([0-9]+)/)

输出:

OWENS CROSS ROA 
530

LYONS ROAD 未被拾取。

知道如何解决吗?

最佳答案

尝试使用这样的模式:

/\s+(?=\d)/

这里的(?=…)positive lookahead assertion 。这将匹配一个或多个空白字符的任何序列,后跟一个数字字符,但由于断言,该数字将不会成为匹配字符串的一部分。

例如:

"OWENS CROSS ROA 530 LYONS ROAD".split(/\s+(?=\d)/)
=> ["OWENS CROSS ROA", "530 LYONS ROAD"]

关于ruby-on-rails - 使用正则表达式进行拆分而不删除分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21840689/

相关文章:

ruby-on-rails - 我将如何对它进行排序和分组并用 rails 遍历它?

ruby-on-rails - Rails Devise 禁用或删除用户注册但保留用户编辑路径

ruby-on-rails - 使用 ruby​​ on rails 上传 'bad content body' 500 内部服务器错误

c# - 仅替换 HTML 标记中的引号的正则表达式

javascript - 从字符串中删除多余的 ;# 实例

ruby-on-rails - 在 ActiveRecord 中

ruby-on-rails - (Rails 问题)合并多个多态 has_many 关系

ruby-on-rails - 将环境变量加载到 .railsrc 文件中?

c - Rubyinline sum 具有浮点值的数组元素

java - 如何挽留。 java正则表达式中的点