8

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

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

我得到的输出

["Lorem", "ipsum", "dolor", "sit", "amet"]

为什么 split 会删除换行符?我怎样才能保留\n在我的数组中?

4

2 回答 2

14

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

如果您想解决这种情况,请使用正则表达式:

"Lorem ipsum\ndolor sit amet".split(/ /)
#=> ["Lorem", "ipsum\ndolor", "sit", "amet"] 
于 2012-12-11T02:31:43.100 回答
0

进一步迭代 Ryan Bigg 的回答;看起来您可以将正则表达式与捕获组一起使用来专门保留换行符。

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

灵感来自 yonosoytu 在String#split中的评论

于 2020-11-18T20:55:28.667 回答