ruby中的string.split方法对我来说很有趣

Ste*_*eve 2 ruby string

txt = "1aaa5"

然后

txt.split("a")在红宝石1.9中产生[1,"","",5].有谁能解释为什么?特别是,为什么不[1,5]?谢谢.

YOU*_*YOU 10

因为它在每个"a"的实例上分裂

  1. 1aaa5分为1和aa5
  2. aa5分为""和a5
  3. a5分为""和5

所以,1,"","",5

使用/ a + /或"aaa"代替

irb(main):002:0> txt.split(/a+/)
=> ["1", "5"]
Run Code Online (Sandbox Code Playgroud)