将“*”和“*”参数传递给 split 的区别

ved*_*ave 1 logic scala apache-spark

我正在研究 spark - scala 并在 scala 中找到它。拆分与python不同。举个例子:

我的功能:

for (line <- lines) {
  var fields = line.split("|")
  if(fields.length > 1){
    movieNames += (fields(0).toInt -> fields(1))
  }
Run Code Online (Sandbox Code Playgroud)

给了我一个错误但是当我将其更改为...

for (line <- lines) {
  var fields = line.split('|')
  if(fields.length > 1){
    movieNames += (fields(0).toInt -> fields(1))
  }
Run Code Online (Sandbox Code Playgroud)

那么,它会解决,“|”和'|有什么区别?'在逻辑级别

Lui*_*rez 6

文档是你的朋友。

line.split("|")调用split接收String的版本,这样的版本将该String视为正则表达式
并且|不是有效的正则表达式

line.split('|')调用split接收Char的版本,这样的版本只是在每次找到该字符时拆分行。