Ruby 字符串扫描方法去除不成对的字符

Ruby string scan method removes unpaired characters

我在数据库 table 中有一个 "telephone" 列,我想以 2 个数字为一组显示它,无论用户如何输入它。

但是,如果它是由奇数(比如 7)组成的 phone 数字,则第七个字符消失。

我有一个 after_create 过滤器,它正是这样做的:

def phone_format
  self.telephone = "#{self.telephone.scan(/../).join(" ")}"
  binding.pry unless self.save
end

我怎样才能避免这种情况?

/../ 更改为 /.{1,2}/,或更好,/\d{1,2}/