需求:
有一个字符串,类似 http.uri 想要获取点后面的部分,即 uri。
程序中按照 "http.uri".split(".") 方法截取后,报错类似
java.util.NoSuchElementException: head of empty list
后在 scala shell 中测试:
scala> val s="a.b"
s: String = a.b
scala> s.split(".")
res1: Array[String] = Array()
发现按照 . 去 split 之后确实是个空数组。
google 得到“the String#split method in Scala actually takes a String that represents a regular expression.”
修改代码:
scala> s.split("\\.")
res5: Array[String] = Array(a, b)
成功获取所需的信息。
在 scala 的 split 方法中 点 . 以及 问号 ? 都需要进行转义