我如何在scala中使用多个分隔符拆分字符串?

时间:2014-02-19 08:26:39

标签: scala

如果我有"(TIde Pods) OR (Pods) AND (myPods)"之类的字符串而不是TIde Pods,Pods,myPods

的字符串
scala>val s = "Tide POds OR Pods AND (abc ggk)"
s: String = Tide POds OR Pods AND (abc ggk)

scala>s.split("[( ) OR AND]")
res14: Array[String] = Array(Tide, P, ds, "", "", "", Pods, "", "", "", "", "", abc, ggk)

我想要Tide Array(POds,Pods,abc ggk)

1 个答案:

答案 0 :(得分:10)

由于.split接受regular expression's模式,您可以使用以下内容:

scala> val str = "(TIde Pods) OR (Pods) AND (myPods)"
str: String = (TIde Pods) OR (Pods) AND (myPods)


scala> str.split("[()\\s]|OR|AND").filter(_.nonEmpty)
res2: Array[String] = Array(TIde, Pods, Pods, myPods)