如何解析Ruby中以制表符分隔的文本行?

时间:2009-03-03 10:03:05

标签: ruby parsing delimiter lexical-analysis tab-delimited

我发现Ruby的each函数有点令人困惑。如果我有一行文本,each循环将为我提供每个以空格分隔的单词而不是每个单独的单词。

那么检索由制表符分隔的字符串部分的最佳方法是什么。目前我有:

line.split.each do |word|
...
end

但这不太正确。

1 个答案:

答案 0 :(得分:17)

我不确定我是否完全理解你的问题,但是如果你想分割制表符上的行,你可以指定它作为分裂的参数:

line.split("\t").each ...

或者您可以将其指定为正则表达式:

line.split(/\t/).each ...

每个基本上只是遍历数组中的所有项,而split会从字符串中生成一个数组。