我有一个内容文件
a b c d
a d
e f
a g h i
使用Scala,我首先要找到不以“ a”开头的行,然后在该行之前附加上一行。最后,我希望我的输出像这样。
a b c d
a d e f
a g h i
我能够逐行读取文件,但无法继续进行操作
import scala.io.Source
val filename = "fileopen.scala"
for (line <- Source.fromFile(filename).getLines) {
println(line)
}
对实现这一目标的任何帮助将受到高度赞赏
一个相对容易的搜索和替换,但是它确实需要将整个文件读入内存。
val rslt = util.Using(io.Source.fromFile("fileopen.scala")){
_.mkString.replaceAll("\n([^a])", " $1")
}
//rslt: scala.util.Try[String] = Success(a b c d
// a d e f
// a g h i
// )
Scala 2.13之前的版本:
val file = io.Source.fromFile("so.txt")
val rslt = file.mkString.replaceAll("\n([^a])", " $1")
file.close