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