如何安全地拆分字符串并检查两个值

coo*_*eze 0 scala

如果我这样做会引发异常:

"".split('=')(1)
Run Code Online (Sandbox Code Playgroud)

是否有一种在scala中安全地进行此类操作的自觉方式?

Łuk*_*asz 8

scala> "".split('=').lift(1)
res0: Option[String] = None

scala> "a=b".split('=').lift(1)
res2: Option[String] = Some(b)
Run Code Online (Sandbox Code Playgroud)

请注意,Array隐式转换后是从索引到值的部分函数.您可以使用lift任何部分函数,​​以便代替值或异常(如果未在给定参数中定义),它将返回Some(value)None分别返回.