Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将逗号替换为后跟空格的逗号_Java_Regex - Fatal编程技术网

Java 将逗号替换为后跟空格的逗号

Java 将逗号替换为后跟空格的逗号,java,regex,Java,Regex,由于服务器端数据的格式化方式,我需要使用自己的函数对其进行重新格式化,并且为了防止任何不必要的重新格式化,我想检查正在重新格式化的字符串是否需要重新格式化 下面是所涉及的条件和正则表达式 String value = "test, test, test."; if (!value.matches("/(\\s*, )/g")) { return value.replaceAll(",", ", "); } else { return value; } 如果字符串为:Test,

由于服务器端数据的格式化方式,我需要使用自己的函数对其进行重新格式化,并且为了防止任何不必要的重新格式化,我想检查正在重新格式化的字符串是否需要重新格式化

下面是所涉及的条件和正则表达式

String value = "test, test, test.";

if (!value.matches("/(\\s*, )/g")) {
    return value.replaceAll(",", ", ");
}
else {
    return value;
}
如果字符串为:
Test,Test,Test
,则预期结果为:它将重新格式化为
Test,Test,Test

我得到的行为是,即使代码中的
字符串也会进入
if
条件,此时它应该跳过它并进入
else

咨询我的审阅者后进行编辑 这里为我找到的最好的解决方案是
,(?!)

建议的解决方案将在
之后添加
,即使
将位于字符串的末尾,这是我不想要的

同样在我的问题中,我有一个冗余的
if
条件,我将其删除并简化为:

String value = "Test,test,test";

return value.replaceAll(",(\\S)", ", $1");
输出:

test ,   test, test.

测试,测试,测试

您不需要检查,只需使用:

value = value.replaceAll("\\s*,\\s*", ", ");
输入例如:

test ,   test, test.
输出

test, test, test.

您无需检查,只需使用:

value = value.replaceAll("\\s*,\\s*", ", ");
输入例如:

test ,   test, test.
输出

test, test, test.
您可以使用:

result = subject.replaceAll(",([^ ])", ", $1");


您可以使用:

result = subject.replaceAll(",([^ ])", ", $1");



您不需要在正则表达式中包含
/
/g
。您也可以尝试
返回值。replaceAll(,(?!),“,””,”)
并删除
,如果
条件无效,则它是无用的。您不需要在正则表达式中包含
/
/g
。您还可以尝试
返回值。replaceAll(,(?!),“,”,“,”,”,“,”)
并删除
,如果
条件无效,则它应该是
测试,测试,测试
,作为输出。使用
(“\\s*,\\s*”,“,”)
aah你是说空格,是的这是我的坏@XtremeBaumer我想OP想要
测试,测试,测试
好的,我修复了它谢谢你它应该是
测试,测试,测试
作为输出。使用
(“\\s*,\\s*”,“,”)
aah你是说空格,是的,这是我的坏@XtremeBaumer我想OP需要
测试,测试,测试
好的,我修好了谢谢