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

To split based on comma, simply use

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