我是ruby.i的新手想要从CSV文件解析的电话号码中删除非数字字符。 这是我使用的代码。
require 'csv'
csv_text = File.read('file.csv')
csv = CSV.parse(csv_text, :headers => true)
csv.each do |row|
puts "First Name: #{row['Name']} - HomePhone: #{row['Phone']} - Zip Code: #{row['Zipcode']}"
end
输出打印如下
FirstName:Abiel HomePhone:6667-88-76
(在CSV文件中,HomePhone包含非数字字符。)
我希望输出为FirstName:Abiel HomePhone:66678876
答案 0 :(得分:2)
这应该有效:
row['Phone'].gsub(/[^0-9]/, "")
答案 1 :(得分:2)
是,或只是row['Phone'].gsub(/\D/, "")
其中\d
表示数字字符,而\D
表示任何非数字字符。