我编写了以下函数
NetworkWebUserRoles
我的目的是解析以下字符串:import scala.util.matching.Regex
val COL1 = "COL1"
val COL2 = "COL2"
val reg ="""(\w+)-(\w+)""".r
val dataExtraction: String => Map[String, String] = {
string: String => {
string match {
case reg(col1, col2) =>
Map(COL1 -> col1, COL2 -> col2)
case _ => Map(COL1 -> "", COL2 -> "")
}
}
}
并拥有dataExtraction("loe-MFM---0521")
任何想法如何实施?
答案 0 :(得分:0)
您可以使用
val reg ="""(\w+)-(.+)""".r
正则表达式将匹配整个字符串(因为它在match
块中使用),并将前1个单词组成的字符char放入组1(COL1
)中,然后将连字符匹配,然后将除换行符以外的任何其他1+个字符捕获到组2(COL2
)中。
如果COL2
为空,请将.+
替换为.*
。