按空格分割字符串但保留\ n - Ruby

时间:2012-12-11 02:24:30

标签: ruby

我有一个ruby文件,它使用split(' ')读取文件并将文本拆分为数组。问题是这些文本文件包含换行符,我想保留这些换行符。例如,如果我运行以下代码

"Lorem ipsum\ndolor sit amet".split(' ')

我得到了

的输出
["Lorem", "ipsum", "dolor", "sit", "amet"]

为什么拆分删除换行符?如何在我的数组中保留\n

2 个答案:

答案 0 :(得分:13)

Michael Berkowski对你的问题的评论是正确的。

如果您想解决此案例,请使用正则表达式:

"Lorem ipsum\ndolor sit amet".split(/ /)
#=> ["Lorem", "ipsum\ndolor", "sit", "amet"] 

答案 1 :(得分:0)

进一步迭代Ryan Bigg的答案;看起来您可以将Regex与捕获组配合使用以专门保留换行符。

"Lorem ipsum\ndolor sit amet".split(/ |([\t\r\n\f])/)
=> ["Lorem", "ipsum", "\n", "dolor", "sit", "amet"]

受yonosoytu在String#split中的评论的启发