0

我一直在尝试从文件中过滤一些文本以仅显示某些出生年份

我有一些读取文件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)

任何帮助都会很棒。

4

1 回答 1

1

^使$表达式尝试匹配整行,这是行不通的。

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

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

于 2013-03-25T16:43:11.080 回答