【问题标题】:Regex to split an array in Ruby based on Pattern正则表达式基于模式在 Ruby 中拆分数组
【发布时间】:2014-05-02 12:04:07
【问题描述】:

这更像是一个“我使用什么正则表达式”而不是语义问题。

我有以下字符串:

moneyString = "¥10,100 YEN,€100.00 EU,$100.00 US"

我需要用逗号分隔它。但是,我不希望将10,000 Yen 中的逗号分隔为两个数组。

目前,如果我这样做moneyString.split(',')

我得到:[¥10, 100 YEN, €100.00 EU, $100.00 US] 作为不同的数组值。但我想要:

[¥10100 YEN, €100.00 EU, $100.00 US]

有人可以告诉我如何让这个正则表达式正确吗?很抱歉,我完全是新手。

【问题讨论】:

  • 日元从何而来?

标签: ruby regex arrays split


【解决方案1】:

您可以使用否定的lookbehind分割所有前面没有数字的逗号。

moneyString = "¥10,100 YEN,€100.00 EU,$100.00 US"

puts moneyString.split(/(?<!\d),/)

# ¥10,100 YEN
# €100.00 EU
# $100.00 US

【讨论】:

    【解决方案2】:
    moneyString.split(/(?<!\d),/)
    

    关键字是“消极的后视”。

    【讨论】:

      猜你喜欢
      • 2020-02-07
      • 2021-10-25
      • 1970-01-01
      • 2013-08-01
      • 2022-11-23
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      相关资源
      最近更新 更多