2012-08-11 28 views

回答

4

正則表達式來拯救!

val xs = List("X45C", "5K") 
val ys = xs map {x => """\d+|\D+""".r.findAllIn(x).toList} 

println(ys) 
    /* List(List(X, 45, C), List(5, K)) */ 

如果\D是正確的選擇取決於實際輸入,諮詢pattern docs瞭解更多信息。

0

也許這樣的事情可能會有所幫助:

"x12y 1y2 QW23ER" 
    .replace(/([a-z])([0-9])/gi,"$1-$2") 
    .replace(/([0-9])([a-z])/gi,"$1-$2"); 

// OUTPUT: "x-12-y 1-y-2 QW-23-ER"