1

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

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

我想拥有:

"23 Very Long String: Extreme String 2"

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

4

3 回答 3

4

求助方法String#rstrip

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

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

如果要修改接收器本身,请使用 bang 版本String#rstrip!

于 2013-11-09T12:30:23.657 回答
2

你可以使用

s.split("\n").first
于 2013-11-09T12:27:35.373 回答
0

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

s = "23 Very Long String: Extreme String 2\n                                                                  
"
s.gsub(/\n.*\z/, '') # => "23 Very Long String: Extreme String 2"
于 2013-11-09T23:27:35.683 回答