在 Ruby 中使用 ".delete" 清理电话号码条目



我使用Ruby在CSV文件中清理了一些电话号码条目。一些用户输入了不需要的角色,我想整理并删除所有内容(其中一些包括:期间,括号,连字符)。在编写代码时,我意识到我可以使用Ruby提供的.DELETE方法,例如:

  def clean_num
   @file.each do |line|
    number = line[3]
    #Would need a .delete for every unwanted character?
    clean_number = number.delete(".")
    puts clean_number
   end
  end

删除上述其他字符的更有效方法是什么?

您正在寻找正则表达式:

clean_number = number.gsub(/[^d]/, "")

gsub的第一个参数是要查找的模式,第二个是用。

替换每次出现的方法。

这用空字符串("")代替了不是数字([^d])的所有内容。

最新更新