【问题标题】:Ruby file IO delimiters?Ruby 文件 IO 分隔符?
【发布时间】:2010-02-21 07:36:36
【问题描述】:

我正在尝试解析每行包含可变数量的单词和数字的文本文件,如下所示:

foo 4.500 bar 3.00
1.3 3 foo bar

如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach 方法以使用空格而不是换行符作为分隔符?

【问题讨论】:

    标签: ruby file-io delimiter


    【解决方案1】:

    你可以使用

    open('file.txt').read.split.each
    

    为您提供一个以空格(或换行符)分隔的单词的迭代器。

    【讨论】:

      【解决方案2】:

      File.open("file.txt").read.split(" ").each

      【讨论】:

        【解决方案3】:

        接受的答案将slurp 文件,这可能是大文本文件的问题。

        更好的解决方案是IO.foreach。它是惯用的,将按字符流式传输文件:

        File.foreach(filename," ") {|string| puts string}
        

        包含"this is an example" 结果的示例文件

        "this"
        "is"
        "an"
        "example"
        

        【讨论】:

          猜你喜欢
          • 2010-09-21
          • 2013-12-11
          • 1970-01-01
          • 2011-10-14
          • 2013-12-17
          • 1970-01-01
          • 2015-10-15
          • 2015-08-09
          • 2019-12-07
          相关资源
          最近更新 更多