替换“OS不可知”换行符

时间:2011-11-22 03:32:14

标签: ruby

我有几种不同的文档格式。我想删除所有换行符并用" "替换它们。如何说明"\n"以外的换行符?

s.gsub("\n", " ")

这样的东西

2 个答案:

答案 0 :(得分:2)

大多数操作系统使用\n\r(或组合)来换行。

s.gsub(/[\n\r]+/, " ")应该可以解决问题。

/[\n\r]+/被称为正则表达式。它与\n\r以及两者的任意组合相匹配。

答案 1 :(得分:0)

为了使您的代码更具可读性,您可以使用我的gem

您可以这样安装:

gem install linebreak

你可以这样使用它:

require 'aef/linebreak/string_extension'

"Something\n".linebreak_encode(" ")
# => "Something "

其他例子:

"Something\n".linebreak_encode(:windows)
# => "Something\r\n"

"Something\r\n".linebreak_encode(:unix)
# => "Something\n"

它还附带一个命令行工具。可以找到文档here