我有一个ruby文件,它使用split(' ')
读取文件并将文本拆分为数组。问题是这些文本文件包含换行符,我想保留这些换行符。例如,如果我运行以下代码
"Lorem ipsum\ndolor sit amet".split(' ')
我得到了
的输出["Lorem", "ipsum", "dolor", "sit", "amet"]
为什么拆分删除换行符?如何在我的数组中保留\n
?
答案 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中的评论的启发