0

我正在使用 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

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

4

1 回答 1

5

您正在寻找正则表达式:

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

第一个参数gsub是要查找的模式,第二个参数是替换每个出现的内容。

[^\d]这会用空字符串 ( )替换所有不是数字 ( ) 的内容""

于 2012-11-09T20:15:49.210 回答