2010-07-21 26 views
2

我想用Ruby來分割數字的右邊。如何分解到數字的右側?

例如:H2SO4 您是如何做到這一點的? 我想輸出["H2", "SO4"]

x.split(/\d+/)收率:[ 「H」, 「SO」]

x.split(//)收率:[ 「H」, 「2」, 「S」, 「O」,「4 「]

這兩個很酷,但不是我正在尋找。

+2

這讓我想起:「比利是化學家,但比利不在了,因爲他認爲H2O是H2SO4」 – 2010-07-21 23:20:04

回答

5
x.scan(/[A-za-z]*\d+/) 

這意味着將其拆分成組,每個組包含0個或更多字母,然後包含1個或多個數字。或者,如果非數字可以是任何東西:

x.scan(/\D*\d+/)