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

zy1mlcev  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(488)

这个问题在这里已经有答案了

scala:用双引号(“”)和单引号(“”)拆分(4个答案)
5个月前关门了。
我正在研究spark-scala,并在scala中发现了这一点。拆分与python不同。例如:
我的职能:

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

给我一个错误,但当我把它改成。。。

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

然后,它将解决,在逻辑级别上“|”和“|”之间的区别。

5vf7fwbs

5vf7fwbs1#

医生是你的朋友。 line.split("|") 呼叫 split 接收字符串的版本,该版本将该字符串视为正则表达式。
以及 | 不是有效的正则表达式。
鉴于 line.split('|') 呼叫 split 接收一个字符的版本,这样的版本每次找到该字符时就拆分行。

相关问题