0

テストコードはこちら。コンマで分割するように現在の正規表現を拡張したい

String test = "This Is ,A Test"
println(test)
String noSpace = test.replaceAll("\\s","")
println(noSpace)
String[] words = noSpace.split("[^a-zA-Z0-9'-.]+")

words.each {
   println(it)
}

これにより、出力が生成されます

This Is ,A Test
ThisIs,ATest
ThisIs,ATest

出力を生成する場所

This Is ,A Test
ThisIs,ATest
ThisIs
ATest

何かご意見は?ありがとう!

4

2 に答える 2

2

javadoc から引用

文字クラスの外側と文字クラスの内側では、異なるメタ文字のセットが有効であることに注意してください。たとえば、正規表現 . 文字クラス内では特別な意味を失い、式 - はメタ文字を形成する範囲になります。

したがって、ダッシュをエスケープする必要があります。

String[] words = noSpace.split("[^a-zA-Z0-9'\\-.]+");
于 2013-04-16T17:53:52.507 に答える
2

コンマに基づいて分割するには、単に使用します

String[] words = noSpace.split(",");
于 2013-04-16T17:18:57.440 に答える