【问题标题】:How to parse a tab-separated line of text in Ruby?如何在 Ruby 中解析制表符分隔的文本行?
【发布时间】:2010-10-10 23:41:35
【问题描述】:

我发现 Ruby 的 each 函数有点混乱。如果我有一行文本,each 循环将给我每个空格分隔的单词,而不是每个单独的字符。

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

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

但这并不完全正确。

【问题讨论】:

    标签: ruby parsing delimiter lexical-analysis csv


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 简单装箱没问题。但不是那么简单。当内容来自外部来源时,存在许多边缘情况。不同应用之间的换行符、转义序列、引号等非常不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    相关资源
    最近更新 更多