给出如下字符串:
Bob
Bob,
Bob
Bob Burns,
如何以逗号退回?
Bob
Bob
Bob
Bob Burns
另外,如果传递nil,我希望这种方法不会中断,只是为了返回一个nil?
def remove_trailing_comma(str)
!str.nil? ? str.replace(",") :nil
end
答案 0 :(得分:43)
我的想法是使用string.chomp:
返回一个新的String,其中从str的结尾(如果存在)中删除了给定的记录分隔符。
这样做你想要的吗?
def remove_trailing_comma(str)
str.nil? ? nil : str.chomp(",")
end
答案 1 :(得分:4)
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
答案 2 :(得分:3)
你可以这样做:
str && str.sub(/,$/, '')