我的字符串queryInputNameString
等于fir, spotted owl
,我正在尝试使用replaceAll()
删除空格,split()
分隔inputNameArray
中的元素逗号出现时的{1}}数组。
String noSpaces = queryInputNameString.replaceAll("\\s+","");
String[] inputNameArray = noSpaces.split("\\,");
到目前为止,上述回报:
fir
spottedowl
但我希望它只删除逗号之前或之后发生的空格并返回:
fir
spotted owl
如何让我的代码忽略前面/后面没有逗号的空格?
感谢。
答案 0 :(得分:5)
由于split()
接受正则表达式作为参数,您可以直接执行此操作:
String[] inputNameArray = queryInputNameString.split("\\s*\\,\\s*");
否则,如果您真的想在逗号后面只替换空格,可以使用:
String noSpaces = queryInputNameString.replaceAll(",\\s+",",");
答案 1 :(得分:0)
您实际上不必使用更复杂的regex
。如果你先用逗号split
,然后用trim
每个数组元素,你就会得到想要的结果。
在处理大量数据时,这种方法可能效果不佳。
String[] inputArray = queryInputNameString.split(",");
for (int i=0; i < inputArray.length, ++i) {
inputArray[i] = inputArray[i].trim();
}