5

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

foo 4.500 bar 3.00
1.3 3 foo bar

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

4

3 回答 3

3

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

于 2010-02-21T07:42:41.400 回答
3

您可以使用

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

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

于 2010-02-21T07:43:20.277 回答
3

接受的答案会破坏文件,这可能是大文本文件的问题。

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

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

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

"this"
"is"
"an"
"example"
于 2016-04-14T17:15:50.690 回答