如何根据scala中的条件拆分字符串?

时间:2014-04-09 23:48:08

标签: scala

scala中的新手..但基本上这就是我想要做的事情:

  s = "foo,bar, 'this,is foo'"

现在我想用逗号分隔这个字符串..但是输出是:

[foo,bar,"this,is foo"] 

注意,这个数组中只有三个元素而不是4 ..因为“this,is foo”被视为一个字符串?

我该怎么做?

1 个答案:

答案 0 :(得分:2)

这样的事情?

scala> val s = "foo,bar, 'this,is foo'"
s: String = foo,bar, 'this,is foo'

scala> val ptn = "(('[^']*')|([^,]+))".r
ptn: scala.util.matching.Regex = (('[^']*')|([^,]+))

scala> val theMatches = ptn.findAllMatchIn(s).toList
theMatches: List[scala.util.matching.Regex.Match] = List(foo, bar,  'this, is foo')