给定如下字符串:
Bob Bob, Bob Bob Burns,
你怎么能不加逗号就把它退回去呢?
Bob Bob Bob Bob Burns
另外,如果传递了一个nil,我希望这个方法不中断,只是返回一个nil?
def remove_trailing_comma(str) !str.nil? ? str.replace(",") :nil end
vwoqyblh1#
我的想法是使用字符串。chomp:返回一个新字符串,其中从str末尾删除了给定的记录分隔符(如果存在)。这是你想要的吗?
def remove_trailing_comma(str) str.nil? ? nil : str.chomp(",") end
goqiplq22#
使用字符串#chomp
irb(main):005:0> "Bob".chomp(",") => "Bob" irb(main):006:0> "Bob,".chomp(",") => "Bob" irb(main):007:0> "Bob Burns,".chomp(",") => "Bob Burns"
最新消息:
def awesome_chomp(str) str.is_a?(String) ? str.chomp(",") : nil end p awesome_chomp "asd," #=> "asd" p awesome_chomp nil #=> nil p awesome_chomp Object.new #=> nil
ne5o7dgx3#
你可以这样做:
str && str.sub(/,$/, '')
lqfhib0f4#
正如大家所说,chomp就能达到目的。从Ruby 2.3开始,您可以使用安全导航运算符,如下所示:str&.chomp(',')。如果str不为nil,它只执行chomp,否则返回nil。
chomp
str&.chomp(',')
qxsslcnc5#
您可以使用
str.delete_suffix(',')
5条答案
按热度按时间vwoqyblh1#
我的想法是使用字符串。chomp:
返回一个新字符串,其中从str末尾删除了给定的记录分隔符(如果存在)。
这是你想要的吗?
goqiplq22#
使用字符串#chomp
最新消息:
ne5o7dgx3#
你可以这样做:
lqfhib0f4#
正如大家所说,
chomp
就能达到目的。从Ruby 2.3开始,您可以使用安全导航运算符,如下所示:
str&.chomp(',')
。如果str不为nil,它只执行chomp,否则返回nil。qxsslcnc5#
您可以使用