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

ala*_*dey 7 ruby parsing lexical-analysis tab-delimited delimiter

我发现Ruby的each功能有点令人困惑.如果我有一行文本,each循环将给我每个空格分隔的单词而不是每个单独的字符.

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

line.split.each do |word|
...
end
Run Code Online (Sandbox Code Playgroud)

但这不太正确.

Ben*_*Ben 18

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

line.split("\t").each ...
Run Code Online (Sandbox Code Playgroud)

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

line.split(/\t/).each ...
Run Code Online (Sandbox Code Playgroud)

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