我有一个要求,我有一个像下面输入的字符串,我想要像下面的输出字符串。有人可以帮帮我吗?
示例1
val input = "month(start_date),year(to_date),month(to_date)"
output = "start_date,to-date"
示例2
input = "abc(start),xyz(end)"
output = "start,end"
答案 0 :(得分:1)
您需要一个正则表达式来获取括号内的值
val input = "month(start_date),year(to_date),month(to_date)"
val regex = "(?<=\\()[^)]+(?=\\))".r
val output = regex.findAllIn(input).toSet.mkString(",")
对于正则表达式的解释,您可以在How do I match the contents of parenthesis in a scala regular expression
找到它 toSet
删除重复的内容
和mkString
以逗号