从Ruby中的字符串中删除最后2个字符?

时间:2009-09-08 07:26:08

标签: ruby-on-rails ruby

我正在收集所有用户的电子邮件地址,以便收集大量邮件:

def self.all_email_addresses
  output = ''
  User.all.each{|u| output += u.email + ", " }
      output
end

但是,我最终在电子邮件地址字符串上添加了一个“,”。

如何摆脱这种情况?是否有更好的方法来获取以逗号分隔的电子邮件地址列表?

3 个答案:

答案 0 :(得分:27)

删除最后两个字符

str.chop.chop # ...or...
str[0..-3]

虽然这确实回答了确切的问题,但我同意这不是解决问题的最佳方法。

答案 1 :(得分:26)

使用join:

def self.all_email_addresses
  User.all.collect {|u| u.email}.join ', '
end

答案 2 :(得分:12)

或者只是“yadayada”[0 ..- 3]会这样做。