3

Waht は、数字と文字の任意の組み合わせを含む可能性のある文字列を数字と文字のグループに分割するが、順序を維持する慣用的な方法です)。

元:

X45C -> X-45-C
5K -> 5-K

それを実装するためのエレガントな方法はどのようになりますか?

4

2 に答える 2

5

救助への正規表現!

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が実際の入力に依存する場合、詳細についてはパターンのドキュメントを参照してください。

于 2012-08-11T14:20:38.597 に答える
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"
于 2012-08-11T14:27:28.337 に答える