红宝石滤波问题

红宝石滤波问题

问题描述:

我一直在试图从一个文件中的一些文本过滤器只显示某些年份出生的红宝石滤波问题

我有些红宝石,在一个文件中读取ages.txt,它包含出生

的名称和年
  • 李四(2001)
  • 玛丽·布洛斯(1987)
  • 约翰苹果(2010)
  • 老家伙(1990)

我希望能够过滤一年范围,即找到1987年和1990年

之间出生的人我都试过

#open('ages.txt') { |f| f.grep(/^19(8[0-9]|10)$/) } 

,但我得到一个错误

ages.rb:3:in `===': invalid byte sequence in UTF-8 (ArgumentError) 

任何帮助将是伟大的。

^$使表达式尝试匹配整行,这将不起作用。

尝试:/19(8[7-9]|90)/

Here是一个工作版本。让我知道这是否有帮助。

+0

你的答案应该在这里,而不是(仅)在Rubular上。 – 2013-03-25 16:43:58

+0

增加了它,对不起, – 2013-03-25 16:50:20

+0

谢谢,但我仍然得到红宝石错误 – Nemothefish 2013-03-26 10:57:13