只想找出将以下字符串拆分为所需格式的最佳方法。
123456_deploy_first_one_second_one_third_one....
所需格式
123456
deploy
first_one
second_one
third_one
..
..
知道这太疯狂了。但是一种情况要求我分担以避免很多周期。
谢谢。
答案 0 :(得分:3)
用唯一的字符串替换要保留的子字符串,否则该字符串将不会在数据字符串中找到。然后split()
并恢复。
"123456_deploy_first_one_second_one_third_one"
.replaceAll("_one",".") //replace all targets with a marker
.split("_")
.map(_.replace(".","_one")) //restore the target strings
//res0: Array[String] = Array(123456, deploy, first_one, second_one, third_one)
答案 1 :(得分:2)
Split
与delimiter _
,然后将它们像下面那样组合
val str="123456_deploy_first_one_second_one_third_one"
val splitArr=str.split("_")
val ans=splitArr.take(2).mkString("\n")+"\n"+splitArr.drop(2).grouped(2).map(_.mkString("_")).mkString("\n")