我有一大串字符串,我只对找到某个字符串后出现的部分感兴趣。例如,序列可以是 -
..
..
one
two
three
four
five
..
..
我想过滤四之前的所有行,以获得一个仅包含(四、五、...等...)的过滤序列
如何在 Scala 中以函数式的方式编写此代码?
提前致谢。
最佳答案
它是存储在文件中还是存储在某种集合中的内存中?
所有scala集合中都有方法dropWhile
:
val s = Seq("..", "..", "one", "two", "three", "four", "five", "..", "..")
// Seq[String] = List(.., .., one, two, three, four, five, .., ..)
s.dropWhile{ _ != "four" }
// Seq[String] = List(four, five, .., ..)
它适用于 Iterator
,所以你可以这样使用它:
val lines = io.Source.fromFile("bigFile.txt").getLines().dropWhile{ _ != "four" }
关于scala - 过滤字符串序列直到在scala中找到键的功能方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20681394/