在scala中的非结构化文件中查找行号

find line number in an unstructured file in scala

大家好,我正在为一些关键词解析一个非结构化文件,但我似乎无法轻易找到我得到的结果的行号

val filePath:String = "myfile"
val myfile = sc.textFile(filePath);
var ora_temp = myfile.filter(line => line.contains("MyPattern")).collect
ora_temp.length

但是,我不仅想找到包含 MyPatterns 的行,而且我想要更像一个元组(Mypattern 行,行号)

提前致谢,

您可以像 eliasah 在评论中指出的那样使用 ZipWithIndex(使用直接元组访问器语法可能是最简洁的方法),或者像这样在过滤器中使用模式匹配:

val matchingLineAndLineNumberTuples = sc.textFile("myfile").zipWithIndex().filter({
  case (line, lineNumber) => line.contains("MyPattern")
}).collect