Scala通过丢弃几个来拆分字符串

时间:2018-08-09 19:36:13

标签: java scala split

只想找出将以下字符串拆分为所需格式的最佳方法。

123456_deploy_first_one_second_one_third_one....

所需格式

123456
deploy
first_one
second_one
third_one
..
..

知道这太疯狂了。但是一种情况要求我分担以避免很多周期。

谢谢。

2 个答案:

答案 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)

Splitdelimiter _,然后将它们像下面那样组合

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")