这更像是“我使用什么正则表达式”而不是语义问题。
我有以下字符串:
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]
有人能告诉我如何让这个正则表达式正确吗?对不起,我是这个东西的新手。
答案 0 :(得分:6)
你可以使用负面的lookbehind来分割所有前面没有数字的逗号。
moneyString = "¥10,100 YEN,€100.00 EU,$100.00 US"
puts moneyString.split(/(?<!\d),/)
# ¥10,100 YEN
# €100.00 EU
# $100.00 US
答案 1 :(得分:1)
moneyString.split(/(?<!\d),/)
关键字是“负面观察”。