Как убрать запятую? - PullRequest
       3

Как убрать запятую?

21 голосов
/ 30 апреля 2011

Имеются такие строки, как:

Bob
Bob,
Bob
Bob Burns,

Как вы можете вернуть эту запятую без запятой?

Bob
Bob
Bob
Bob Burns

Кроме того, я бы хотел, чтобы этот метод не сломался, если передал нольпросто чтобы вернуть ноль?

def remove_trailing_comma(str)
  !str.nil? ? str.replace(",") :nil
end

Ответы [ 3 ]

43 голосов
/ 30 апреля 2011

Я подумал бы использовать string.chomp :

Возвращает новую строку с указанным разделителем записей, удаленным из конца строки (если имеется).

Делает ли это то, что вы хотите?

def remove_trailing_comma(str)
    str.nil? ? nil : str.chomp(",")
end
4 голосов
/ 30 апреля 2011

использовать String # chomp

irb(main):005:0> "Bob".chomp(",")
=> "Bob"
irb(main):006:0> "Bob,".chomp(",")
=> "Bob"
irb(main):007:0> "Bob Burns,".chomp(",")
=> "Bob Burns"

UPDATE:

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
3 голосов
/ 30 апреля 2011

Вы можете сделать что-то вроде этого:

str && str.sub(/,$/, '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...