0
我试图拆分此字符串:怪异的结果与string.split()和正则表达式
values = "43/320x240/99/0/0,34/320x240/9/0/115,18/320x240/9/0/115,5/320x240/7/0/0"
并获得唯一的每一个“组”的第一个数字。而不是分裂,和/我试图做只有一个正则表达式。但是,当我试试这个:
values.split(/\/(\d|x|\/)+,?/g)
我得到这个:
["43", "0", "34", "5", "18", "5", "5", "0"]
相反的:
为什么会出现,我想每个号码之间的无效号码? Rails似乎在逗号前后都得到了所有数字。我尝试过使用其他RegExp:(/ [\ d | x] +){4},?并得到了类似的结果。
有什么不对的地方我看不到?你知道更好的解决方案吗?
是的,确切地说。根据http://ruby-doc.org/core-1.9.3/String.html#method-i-split,“如果_pattern_包含组,则相应的匹配也将返回到数组中。” – ruakh
我已阅读关于群组的文档,但在这种情况下我没有意识到这是问题。它现在工作完美,谢谢! :d –