scala - muliline string split

后端 未结 3 845
太阳男子
太阳男子 2020-12-12 03:10

I have this:

val msg = \"Preparado para cocinar...\"
val message = msg.splitAt(msg.length()/2)

println(message._1 + \"\\n\" + message._2.trim())
         


        
3条回答
  •  Happy的楠姐
    2020-12-12 03:14

    A not very elegant working solution,

    val a = msg.split("\\s")  // Split by space
    a = Array(Preparado, para, cocinar...)
    
    val n = a.size / 2  // Get halving point rounded to lower closest integer
    n = 1
    
    val b = Array(a.take(n).mkString, a.drop(n).mkString(" "))  // Halve the array
    b = Array(Preparado, para cocinar...)
    
    b.foreach(println)  // Print it
    Preparado
    para cocinar...
    

    Update

    As pointed out by @AdrienAubel, consider the use of splitAt over the split array,

    val (b1,b2) = a.splitAt(n)
    b1 = Array(Preparado)
    b2 = Array(para, cocinar...)
    
    println(b1.mkString(" "))
    Preparado
    
    println(b2.mkString(" "))
    para cocinar...
    

提交回复
热议问题