在这里测试代码。 我想增加我当前的正则表达式以逗号分隔

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

有什么想法吗? 谢谢!

===============>>#1 票数:2

要基于逗号分割,只需使用

String[] words = noSpace.split(",");

===============>>#2 票数:2 已采纳

从javadoc引用

请注意,字符类内部的字符集与字符类外部的元字符集不同。 例如,正则表达式。 失去了在字符类中的特殊含义,而表达式-成为形成范围的元字符。

因此,您需要避免破折号:

String[] words = noSpace.split("[^a-zA-Z0-9'\\-.]+");

  ask by Badmiral translate from so

未解决问题?本站智能推荐:

5回复

选择带逗号的字符串(正则表达式)

我需要一个符合以下条件的正则表达式: 正则表达式应匹配任何包含逗号的字符串 我从\\".+?\\"开始,但是它一直选择到下一个字符串,这对我不适用。 编辑:谢谢,我在您的所有帮助下都找到了\\"[\\w]+?,.+?\\"
2回复

正则表达式,用于匹配不在字符串文字内的逗号

在BASIC中,打印语句如下所示: 哪个应该在第一个语句和第二个语句之间放置一个制表符空间。 我正在使用Groovy / Java开发用于BASIC的DSL /解释器,它需要解析此行并产生类似以下内容的内容: (因为Groovy将逗号解释为仅分隔打印函数的参数。) 那
1回复

正则表达式以点/逗号检查/设置价格并解析为整数

我想接受价格并转换为整数,例如: 信息:我的项目正在进行中。 如果可能的话,我想解决这个问题,因为我有一个不t use Double to deal with prices, it converts to Integers after treat the String just l
2回复

Java正则表达式到groovy

我在Java中得到了以下代码,用正则表达式替换为空白: 我正在尝试在SoapUI的常规脚本中使用它,但它似乎并没有实际修剪。 Groovy是否无法识别Java正则表达式? 我已经完成导入以导入java.util.regex。*
2回复

Groovy正则表达式

我想尝试在强标签之间匹配字符串的内部,以确保强标签内的强标签以Price Range:开头。 该文本不应出现在字符串的任何其他位置,但是<p>和<strong>标记确实可以。 我该如何与groovy搭配? <p><strong>Price
4回复

正则表达式:删除Java中的第二对括号

我想删除字符串中的第二个括号。 最好使用以下Java方法:replaceAll() 到目前为止,我已经尝试过: return device.replaceAll("(\\w+\\s*\\w*)",""); 引发错误: unexpected char \\ return
1回复

Groovy正则表达式不起作用

我想使用groovy进行以下匹配:一个单词后跟一个“。”。 跟一个数字。 以上方法均无效,有人可以向我解释原因并向我展示正确的方法吗?
1回复

Java - Groovy:正则表达式解析文本块

我知道这是一个常见的问题,我已经通过很多论坛来弄清楚我的代码中的问题是什么。 我必须以下列格式读取包含多个块的文本文件: 我有这个代码来读取所有文件,我想提取关键字“@Layout”和关键字“return”之间的每个块。 我还需要捕获所有换行符,以便稍后我将能够将每个匹配的块拆分
3回复

Java和Groovy的正则表达式引擎是一样的吗?

现在我正在基于Groovy中的正则表达式做一些代码。 但是为了创建和测试我的正则表达式,我使用了引用Java正则表达式引擎和面向Java的http://www.regexplanet.com/advanced/java/index.html的书籍。 我有点害怕 - Groovy正则表达式
1回复

Groovy文字正则表达式/ \\\\ /未编译

我在Windows中有一个路径: 我需要将反斜杠\\转换为正斜杠/ 。 使用Java语法,我会这样写: 但是我正在学习Groovy,所以我想写一个字面正则表达式: 这将引发编译错误: 意外令牌:)==在第4行,第42列 我开始在互联网上寻找内容,发现一