如何使用Scala将字符串拆分为列表

wbgh16ku  于 2022-11-09  发布在  Scala
关注(0)|答案(1)|浏览(260)

我有字符串str = "one,two,(three,four), five"
我想将此字符串拆分成列表,如下所示:List[String] = ("one", "two", "(three, four)", "five")
我对此一无所知。
谢谢

91zkwejq

91zkwejq1#

我们可以尝试匹配模式\(.*?\)|[^, ]+

val str = "one,two,(three,four), five"
val re = """\(.*?\)|[^, ]+""".r
for(m <- re.findAllIn(str)) println(m)

这将打印以下内容:

one
two
(three,four)
five

此正则表达式模式急切地首先尝试查找(...)项。如果失败,它将匹配逗号或空格以外的任何内容,以便一次使用一个CSV术语。这个技巧避免了在(...)中跨逗号匹配的问题。

相关问题