如何在特殊标志之前剪切文本片段?

时间:2013-11-09 12:16:33

标签: ruby regex string

我有一个字符串的例子,我想在符号“\ n”之前剪切。 所以我有(注意在\ n是空格后):

"23 Very Long String: Extreme String 2\n                                                                  
"

我希望:

"23 Very Long String: Extreme String 2"

如何在红宝石中做到这一点?

3 个答案:

答案 0 :(得分:4)

获取方法String#rstrip

的帮助
  

返回str的副本,删除尾部空格。

s = "23 Very Long String: Extreme String 2\n                                                                  
"
s.rstrip # => "23 Very Long String: Extreme String 2"

如果您想修改接收器本身,请使用爆炸版String#rstrip!

答案 1 :(得分:2)

您可以使用

s.split("\n").first

答案 2 :(得分:0)

只是为了获得更多选项,因为我喜欢使用正则表达式:)与gsub相同:

s = "23 Very Long String: Extreme String 2\n                                                                  
"
s.gsub(/\n.*\z/, '') # => "23 Very Long String: Extreme String 2"