如何在Ruby中使用空行作为分隔符将字符串拆分为数组?

时间:2019-01-28 12:58:39

标签: arrays ruby string

如何分割字符串,例如:

aaaaa
bbbb

aaaaa
ccccccc

aaa
rrrrt

使用空行作为定界符插入数组吗?

1 个答案:

答案 0 :(得分:7)

好吧,String#split

'aaaaa bbbb'.split
=> ["aaaaa", "bbbb"]
  

split(pattern=nil, [limit]) → an_array

     

根据定界符将str划分为子字符串,并返回这些子字符串的数组。

     

[...]

     

如果patternnil,则$的值;用来。如果$;是nil(默认设置),str在空格上分割,就像指定了' '一样。

更新:

要在空行上分割,可以使用/\n{2,}/模式。它还处理用多个空行分隔的段落:

a = <<END
aaaaa
bbbb


aaaaa
ccccccc

aaa
rrrrt
END

a.split(/\n{2,}/)
=> ["aaaaa\nbbbb", "aaaaa\nccccccc", "aaa\nrrrrt\n"]