我有一个 ruby 文件,它读取文件并使用split(' ')
. 问题是这些文本文件包含换行符,我想保留这些换行符。例如,如果我运行以下代码
"Lorem ipsum\ndolor sit amet".split(' ')
我得到的输出
["Lorem", "ipsum", "dolor", "sit", "amet"]
为什么 split 会删除换行符?我怎样才能保留\n
在我的数组中?
我有一个 ruby 文件,它读取文件并使用split(' ')
. 问题是这些文本文件包含换行符,我想保留这些换行符。例如,如果我运行以下代码
"Lorem ipsum\ndolor sit amet".split(' ')
我得到的输出
["Lorem", "ipsum", "dolor", "sit", "amet"]
为什么 split 会删除换行符?我怎样才能保留\n
在我的数组中?
Michael Berkowski 对您的问题的评论是正确的。
如果您想解决这种情况,请使用正则表达式:
"Lorem ipsum\ndolor sit amet".split(/ /)
#=> ["Lorem", "ipsum\ndolor", "sit", "amet"]
进一步迭代 Ryan Bigg 的回答;看起来您可以将正则表达式与捕获组一起使用来专门保留换行符。
"Lorem ipsum\ndolor sit amet".split(/ |([\t\r\n\f])/)
=> ["Lorem", "ipsum", "\n", "dolor", "sit", "amet"]
灵感来自 yonosoytu 在String#split中的评论