替换字符串对象中的字符时的Java PatternSyntaxException

替换字符串对象中的字符时的Java PatternSyntaxException,java,regex,string,Java,Regex,String,我正在尝试创建此列表的字符串,但不使用以下字符,[],因为删除它们后,我希望替换所有两个空格 我尝试了以下方法,但我发现标题中有错误。 简单: [06:15, 06:45, 07:16, 07:46] 06:15 06:45 07:16 07:46 List<String> value = entry.getValue(); String timeEntries = value.toString(); String after = timeEntries.replaceAll("

我正在尝试创建此列表的字符串,但不使用以下字符
,[]
,因为删除它们后,我希望替换所有两个空格

我尝试了以下方法,但我发现标题中有错误。 简单:

[06:15, 06:45, 07:16, 07:46]
06:15 06:45 07:16 07:46
List<String> value = entry.getValue();
String timeEntries = value.toString();
String after = timeEntries.replaceAll(",", " ");
String after2 = after.replaceAll("  ", " ");
String after3 = after2.replaceAll("[", "");
String after4 = after3.replaceAll("]", "");
结果应如下所示:

[06:15, 06:45, 07:16, 07:46]
06:15 06:45 07:16 07:46
List<String> value = entry.getValue();
String timeEntries = value.toString();
String after = timeEntries.replaceAll(",", " ");
String after2 = after.replaceAll("  ", " ");
String after3 = after2.replaceAll("[", "");
String after4 = after3.replaceAll("]", "");
代码:

[06:15, 06:45, 07:16, 07:46]
06:15 06:45 07:16 07:46
List<String> value = entry.getValue();
String timeEntries = value.toString();
String after = timeEntries.replaceAll(",", " ");
String after2 = after.replaceAll("  ", " ");
String after3 = after2.replaceAll("[", "");
String after4 = after3.replaceAll("]", "");
List value=entry.getValue();
字符串timeEntries=value.toString();
字符串after=timeEntries.replaceAll(“,”和“”);
字符串after2=after.replaceAll(“,”);
字符串after3=after2.replaceAll(“[”,”);
字符串after4=after3.replaceAll(“]”,“”);
替换与给定正则表达式匹配的所有匹配项。因为您只想匹配一个简单字符串,所以应该使用:

List value=entry.getValue();
字符串timeEntries=value.toString();
字符串after=timeEntries.replace(“,”和“”);
字符串after2=after.replace(“,”);
字符串after3=after2。替换(“[”,”);
字符串after4=after3。替换(“]”,“”);

要回答主要问题,如果使用
replaceAll
,请确保第一个参数是有效的正则表达式。对于您的示例,您实际上可以将其减少为对
replaceAll
的两个调用,因为其中两个替换是相同的

List<String> value = entry.getValue();
String timeEntries = value.toString();
String after = timeEntries.replaceAll("[, ]", " ");
String after2 = after.replaceAll("\\[|\\]", "");

好的,我在=timeEntries之后找到了答案
字符串。替换(“,”)。替换(“[”,”)。替换(“],”)。替换(“,”)replaceAll
的参数是正则表达式),
[
]
必须转义。特别是在Java中。