代码之家  ›  专栏  ›  技术社区  ›  Jamison Dance

Ruby文件IO分隔符?

  •  5
  • Jamison Dance  · 技术社区  · 14 年前

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

    foo 4.500 bar 3.00
    1.3 3 foo bar
    

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

    3 回复  |  直到 8 年前
        1
  •  3
  •   Peter    14 年前

    你可以使用

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

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

        2
  •  3
  •   Postnap    14 年前

    file.open(“file.txt”).read.split(“”)。

        3
  •  3
  •   Community noseratio    7 年前

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

    更好的解决方案是 IO.foreach . 它是惯用的,并将逐字符传输文件:

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

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

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