如何用"\ r \n"拆分Ruby字符串?

Mis*_*hko 6 ruby string split

给出如下字符串:

s = "G o o d\r\nDay\r\n\r\n\r\nStack\r\n\r\nOverflow\r\n"
Run Code Online (Sandbox Code Playgroud)

我想要:

  • 拆分它(\r\n)+,即我想得到:["G o o d", "Day", "Stack", "Overflow"]

    我试过了,s.split(/(\r\n)+/)但它没有给我预期的结果.

    为什么?我怎么能得到预期的结果?

  • 获取\r\n数组中的数字,即预期结果为:[1,3,2]

    你会怎么做?

我使用Ruby 1.9.2.

Dig*_*oss 10

差不多,试试这个:

s.split /[\r\n]+/
s.scan(/[\r\n]+/).map { |e| e.size/2 }
Run Code Online (Sandbox Code Playgroud)

这给出了[1,3,2,1]可能是"真正的"答案.但否则,s.chomp.scan...会给[1,3,2].


the*_*Man 8

这是我如何去做的:

s = "G o o d\r\nDay\r\n\r\n\r\nStack\r\n\r\nOverflow\r\n"

s.split(/[\r\n]+/) # => ["G o o d", "Day", "Stack", "Overflow"]
Run Code Online (Sandbox Code Playgroud)