我正在尝试解析一个文本文件,其中每行包含可变数量的单词和数字,如下所示:
foo 4.500 bar 3.00
1.3 3 foo bar
如何读取由空格而不是换行符分隔的文件?有什么方法可以将File("file.txt").foreach
方法设置为使用空格而不是换行符作为分隔符?
File.open("file.txt").read.split("").each
您可以使用
open('file.txt').read.split.each
为您提供一个以空格(或换行符)分隔的单词的迭代器。
接受的答案会破坏文件,这可能是大文本文件的问题。
更好的解决方案是IO.foreach
. 它是惯用的,将按字符流式传输文件:
File.foreach(filename," ") {|string| puts string}
"this is an example"
包含结果的示例文件
"this"
"is"
"an"
"example"