如何在保持单词之间的空格的同时删除非字母字符?

时间:2017-04-26 08:49:51

标签: java string

我想替换所有非字母字符,同时保持字之间的空格:

String words = "game, rock, 456, pop, %";

结果应为:

String processedWords = "game rock pop";

我尝试运行此代码:

String processedWords = words.replaceAll("[^A-Za-z0-9]", "").replace(",",""));

但是它给了我没有空格的结果。

3 个答案:

答案 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 , " "));