如何在Ruby字符串的开头和结尾删除newLines

时间:2011-08-23 20:30:59

标签: ruby string replace trim

我需要删除ruby中字符串的开头和结尾处的换行符(某种修剪)。

但是刚开始和结束......位于字符串中间的新行必须保持不变。

谢谢!

5 个答案:

答案 0 :(得分:34)

您可以使用String#strip方法。

"\tgoodbye\r\n".strip   #=> "goodbye"

答案 1 :(得分:3)

String.strip会从正面和背面删除所有额外的空格,只留下内部空间。

http://ruby-doc.org/core/classes/String.html#M001189

答案 2 :(得分:1)

如果你的目的是剥离空格,那么strip方法应该有用......但如果你试图专门定位新行,那么可以试试这个:

"\r\na b c d\r\ne f g\r\n".gsub(/^\r\n/, "").gsub(/\r\n$/, "")
=> "a b c d\r\ne f g"

gsub方法将使用正则表达式来定位开头^和结束$位置以替换为“”。

注意:这里我假设你的换行是\ r \ n。这可能与平台无关。

答案 3 :(得分:1)

NPatel's answer的平台无关版本是:

"\nabc\ndef\n".gsub(/^#{$/}/, "").gsub(/#{$/}$/, "")

答案 4 :(得分:0)

这应该这样做:

string.lstrip!.rstrip!