我有字符串str = "one,two,(three,four), five"我想将此字符串拆分成列表,如下所示:List[String] = ("one", "two", "(three, four)", "five")?我对此一无所知。谢谢
str = "one,two,(three,four), five"
List[String] = ("one", "two", "(three, four)", "five")
91zkwejq1#
我们可以尝试匹配模式\(.*?\)|[^, ]+:
\(.*?\)|[^, ]+
val str = "one,two,(three,four), five" val re = """\(.*?\)|[^, ]+""".r for(m <- re.findAllIn(str)) println(m)
这将打印以下内容:
one two (three,four) five
此正则表达式模式急切地首先尝试查找(...)项。如果失败,它将匹配逗号或空格以外的任何内容,以便一次使用一个CSV术语。这个技巧避免了在(...)中跨逗号匹配的问题。
(...)
1条答案
按热度按时间91zkwejq1#
我们可以尝试匹配模式
\(.*?\)|[^, ]+
:这将打印以下内容:
此正则表达式模式急切地首先尝试查找
(...)
项。如果失败,它将匹配逗号或空格以外的任何内容,以便一次使用一个CSV术语。这个技巧避免了在(...)
中跨逗号匹配的问题。