【问题标题】:Split string with regex group使用正则表达式组拆分字符串
【发布时间】:2016-02-16 17:55:55
【问题描述】:

当我在字符串上使用带有正则表达式的split 时,我得到以下输出。

string = "12345678"

string.split(/(..)/)

=> ["", "12", "", "34", "", "56", "", "78"]

为什么我从 split 方法中得到空字符串?我意识到使用 scan 方法会给我没有空字符串的对,但我想知道 为什么 split 给我的是空字符串。

【问题讨论】:

  • @WiktorStribiżew 这不是重复的。阅读问题。
  • @WiktorStribiżew - 链接的问题解决了如何获得我想要的结果。我想知道为什么它给了我空字符串。
  • 好的,我发现很难找到另一个原始问题。让我们保留这个。
  • 那么,现在可以问两个问题:“我该如何解决”和“为什么我的代码会失败”?只是感觉不合逻辑,我会将两者“合并”为一个。如果您知道任何讨论它的元帖子,请分享。
  • @WiktorStribiżew - 我明白你的意思。我将编辑我的问题以更加集中。

标签: ruby string split


【解决方案1】:

至于初始的空字符串,是因为split的初衷是用分隔符将字符串分隔成字段。它总是假设在分隔符之前有一个字段,即使它是空的。至于其他的空字符串,是因为分隔符是相邻的。

【讨论】:

    猜你喜欢
    • 2017-02-23
    相关资源
    最近更新 更多