我想替换所有非字母字符,同时保持字之间的空格:
String words = "game, rock, 456, pop, %";
结果应为:
String processedWords = "game rock pop";
我尝试运行此代码:
String processedWords = words.replaceAll("[^A-Za-z0-9]", "").replace(",",""));
但是它给了我没有空格的结果。
答案 0 :(得分:1)
试试这个
String processedWords = words.replaceAll("[^A-Za-z0-9\\s]", "");
答案 1 :(得分:1)
在9
之后留一个空格String processedWords = words.replaceAll("[^A-Za-z0-9 ]", "");
答案 2 :(得分:0)
您可以使用模式macthed过滤字符,然后用空格替换“,”: -
Pattern p = Pattern.compile("[A-Za-z]+");
Matcher m = p.matcher("game, rock, 456, pop, %");
List<String> resultList = new ArrayList<String>();
while (m.find()) {
resultList.add(m.group());
}
System.out.println(StringUtils.join(resultList , " "));