我有一个带有电话号码的CSV可以清理。我有一个将字符串"123-546-7658"
转换为"1235467658"
的方法。
我的数据以整数形式出现。我尝试了to_s
,但它在转换为字符串之前评估了数学运算符。
如何在ruby中将123-456-7890
变成"1234567890"
?
我的clean_phone_numbers()看起来像这样:
def clean_phone_numbers(phone_number)
phone_number = phone_number.gsub(/\D/,'')
if phone_number.length == 10
clean_num = phone_number
elsif phone_number.length == 11
clean_num = phone_number[1..10]
else
clean_num = "an invalid number"
end
return clean_num
end
我读了像
这样的文件contents = CSV.open 'event_attendees.csv', headers: true, header_converters: :symbol
contents.each do |row|
phone_number = clean_phone_numbers(row[:homephone])
编辑:我明白了。我的实际问题是我正在阅读家庭电话专栏错误。在[:homephone] 之前我没有排
答案 0 :(得分:-1)
当您获得电话号码时,请将.to_s添加到其中以使其成为字符串。
json = 123-456-7890
json.to_s.gsub("-", "")
这应该可以解决你的问题。