如何将文件每行中的单词存储到scala列表中

如何将文件每行中的单词存储到scala列表中,scala,collections,scala-collections,Scala,Collections,Scala Collections,我试图逐行读取一个文件,并将每行中的所有单词存储到一个列表中,然后对其执行一些计算 我正在做以下工作: for(line <- Source.fromFile("file1.txt").getLines()) { var words_in_line = line.split("\\s+") println(words_in_line) } 这是什么?为什么它不在列表的每一行打印单词 编辑: 我现在正在这样做: val w2 = """([A-Za-z])+""".r fo

我试图逐行读取一个文件,并将每行中的所有单词存储到一个列表中,然后对其执行一些计算

我正在做以下工作:

for(line <- Source.fromFile("file1.txt").getLines())
 {
   var words_in_line = line.split("\\s+")
   println(words_in_line)
}
这是什么?为什么它不在列表的每一行打印单词

编辑:

我现在正在这样做:

val w2 = """([A-Za-z])+""".r
 for(line <- Source.fromFile("/Users/Martha/Desktop/file1.txt").getLines.flatMap(w2.findAllIn))
 {
   println("this is")
   println(line)

   var w1 = line.split("\\s+")
   //var w2 = w1.deep.mkString(" ")
   var w3 = line.split("\\s").toList
   println(w3)

 }
val w2=“”([A-Za-z])+“”
为了(线路)
您不能通过
println(字在行中)

试一试

你想要
列表(嘿,你好,这是,演示)
就像那样

scala> var words=line.split("\\s+").toList
words: List[String] = List(hey, hello, this, is, demo)

scala> println(words)
List(hey, hello, this, is, demo)

执行getLines和flatMap时,结果是单个单词列表。如果需要行中的单词列表,则需要将这两个调用分开:

for( line  <- io.Source.fromFile("all.txt").getLines ) {
   val words = w2.findAllIn(line)
   println("this is")
   println(words.mkString(" "))
 }

for(行,但是,这不是以单词列表的形式打印的!第一个打印为单词,第二个打印为一个字符串。我想以列表(abc,vdc,…)的形式打印。非常感谢!你能帮我做一件事吗?请你阅读我在问题中的编辑。我遇到了问题:(
scala> var line="hey hello this is demo"
line: String = hey hello this is demo

scala> var words=line.split("\\s+")
words: Array[String] = Array(hey, hello, this, is, demo)

scala> words map println
hey
hello
this
is
demo
res8: Array[Unit] = Array((), (), (), (), ())
scala> var words=line.split("\\s+").toList
words: List[String] = List(hey, hello, this, is, demo)

scala> println(words)
List(hey, hello, this, is, demo)
for( line  <- io.Source.fromFile("all.txt").getLines ) {
   val words = w2.findAllIn(line)
   println("this is")
   println(words.mkString(" "))
 }
var w3 = line.split("\\s")
w3.foreach(m -> println(m))