用Ruby实现检索功能

先来看这个《Ruby基础教程》用以邮编查询的例子。

Encoding.default_external = Encoding.find('utf-8')

code = ARGV[0]
start_time = Time.now    # 获取处理开始的时间
File.open("./01hokkai/01HOKKAI.CSV","r:shift_jis").each_line do |line|
  line.chomp!
  rows = line.split(/,/)
  zipcode = rows[2].gsub(/"/,'')
  if zipcode == code
    puts line.encode('utf-8')
  end
end
p Time.now - start_time  # 输出处理结束时间与开始时间的差

数据处理流程清晰明了,

1.参数传入的是要查询的邮政编码

2.逐行读入邮编数据库

3.由于在文件读取的过程中连换行符一并读了出来,用line.chomp方法将换行符删除

4.对逗号分隔符文件进行处理,将各字段内容取出,使用了line.split方法,注意这里两个斜杠的使用

5.由于字段中的字符串都用了双引号,这里使用String#gsub方法将双引号去掉

6.输出满足条件的条目

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>