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/