How to split a string into only two parts, by the last occurrence of the split char?

前端 未结 10 1457
猫巷女王i
猫巷女王i 2020-12-29 01:22

For example:

\"Angry Birds 2.4.1\".split(\" \", 2)
 => [\"Angry\", \"Birds 2.4.1\"] 

How can I split the string into: [\"Angry Bir

10条回答
  •  無奈伤痛
    2020-12-29 02:02

    String#rpartition, e.g.

    irb(main):068:0> str = "Angry Birds 2.4.1"
    => "Angry Birds 2.4.1"
    irb(main):069:0> str.rpartition(' ')
    => ["Angry Birds", " ", "2.4.1"]
    

    Since the returned value is an array, using .first and .last would allow to treat the result as if it was split in two, e.g

    irb(main):073:0> str.rpartition(' ').first
    => "Angry Birds"
    irb(main):074:0> str.rpartition(' ').last
    => "2.4.1"
    

提交回复
热议问题