对于像这样的输入字符串:
10,14,"1011 testing 1",10,"1022 testing 2",10,"1033, 234, testing 3"
当那些双引号字符是字符串的一部分时,我需要设置一个模式来识别它们后面的数字和逗号,但不能识别引号内的数字和逗号。
我在groovy代码中使用它,所以我做了一个replaceAll调用,其中regex max意味着我将用一个空字符串("")替换它。
该输入字符串需要变成:
"1011 testing 1","1022 testing 2","1033, 234, testing 3"
这一点:
[0-9]+,
使我能够识别后面跟着逗号的数字。但是我怎么说最后那部分不是在双引号内呢?有没有办法说,只要比赛前有偶数个双引号?
我看到其他一些类似的帖子,但它们并不完全一样。
发布于 2021-04-07 04:32:48
如果您正在解析CSV,那么您应该使用CSV解析器来为您完成所有繁重的工作。
如果这是一个独立的字符串,并且您只想获取双引号之间带有逗号分隔子字符串的字符串,则可以使用
String result = text.findAll(/"[^"]*"/).join(",")
https://stackoverflow.com/questions/66960076
复制相似问题