我使用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]
)的所有内容。