Ruby文件IO分隔符?

时间:2010-02-21 07:36:37

标签: ruby file-io delimiter

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

foo 4.500 bar 3.00
1.3 3 foo bar

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

您可以使用

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

给你一个空格(或换行符)分隔词的迭代器。

答案 2 :(得分:3)

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

更好的解决方案是IO.foreach。它是惯用的,将通过char:

流式传输文件char
File.foreach(filename," ") {|string| puts string}

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

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