0

我是 ruby​​ 的新手。我想从从 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

4

2 回答 2

2

这应该有效:

row['Phone'].gsub(/[^0-9]/, "")
于 2013-01-23T10:56:06.030 回答
2

是的,或者只是row['Phone'].gsub(/\D/, "")

其中\d表示数字字符,\D表示任何非数字。

于 2013-01-23T11:13:46.013 回答