Java 仅替换字符串中的某些空格

Java 仅替换字符串中的某些空格,java,split,whitespace,Java,Split,Whitespace,我有一个字符串queryInputNameString,它等于fir,spottedowl,我试图使用replaceAll()删除空白,并在出现逗号时使用split()分隔inputNameArray数组中的元素 String noSpaces = queryInputNameString.replaceAll("\\s+",""); String[] inputNameArray = noSpaces.split("\\,"); 到目前为止,上述结果如下: fir spottedowl 但

我有一个字符串
queryInputNameString
,它等于
fir,spottedowl
,我试图使用
replaceAll()
删除空白,并在出现逗号时使用
split()
分隔
inputNameArray
数组中的元素

String noSpaces = queryInputNameString.replaceAll("\\s+","");
String[] inputNameArray = noSpaces.split("\\,");
到目前为止,上述结果如下:

fir
spottedowl
但我希望它只删除逗号前后的空格,并返回以下内容:

fir
spotted owl
如何使代码忽略前面/后面没有逗号的空格

谢谢。

既然接受正则表达式作为参数,您可以直接执行以下操作:

String[] inputNameArray = queryInputNameString.split("\\s*\\,\\s*");
否则,如果确实要仅替换逗号后的空格,可以使用:

String noSpaces = queryInputNameString.replaceAll(",\\s+",",");
由于接受正则表达式作为参数,因此可以直接执行以下操作:

String[] inputNameArray = queryInputNameString.split("\\s*\\,\\s*");
否则,如果确实要仅替换逗号后的空格,可以使用:

String noSpaces = queryInputNameString.replaceAll(",\\s+",",");

实际上,您不必使用更复杂的
regex
。如果只需先用逗号
拆分
,然后再
修剪
每个数组元素,就可以得到所需的结果

当处理大量数据时,这种方法可能会被证明不太有效

String[] inputArray = queryInputNameString.split(",");
for (int i=0; i < inputArray.length, ++i) {
    inputArray[i] = inputArray[i].trim();
}
String[]inputArray=queryInputNameString.split(“,”);
对于(int i=0;i
您实际上不必使用更复杂的
regex
。如果只需先用逗号
拆分
,然后再
修剪
每个数组元素,就可以得到所需的结果

当处理大量数据时,这种方法可能会被证明不太有效

String[] inputArray = queryInputNameString.split(",");
for (int i=0; i < inputArray.length, ++i) {
    inputArray[i] = inputArray[i].trim();
}
String[]inputArray=queryInputNameString.split(“,”);
对于(int i=0;i
正如我所见,call only
split
方法将提供所需的输出…正如我所见,call only
split
方法将提供所需的输出…很高兴帮助您!考虑一下你是否满意;很高兴帮助你!考虑一下你是否满意;