从字符串中删除特殊字符

时间:2013-10-25 11:17:38

标签: java string java-ee

我使用代码从字符串中删除所有特殊字符,但它也删除了空格。如何排除空格?即我需要有空格。

String alphaAndDigits = keyword.replaceAll("[^a-zA-Z0-9]+","");

2 个答案:

答案 0 :(得分:2)

String alphaAndDigits = keyword.replaceAll("[^A-Za-z\\d\\s]+","");
  • \s是空格[ \t\n\x0b\r\f]
  • 的匹配器
  • \d是数字[0-9]
  • 的匹配器

String alphaAndDigits = keyword.replaceAll("[^A-Za-z0-9 \t\n\x0b\r\f]+","");

如果您愿意

将是相同的

答案 1 :(得分:0)

        String alphaAndDigits = "hello&%*..sad**";
        Pattern ptn = Pattern.compile("[^S a-zA-Z0-9]");
        Matcher match = ptn.matcher(alphaAndDigits);
        while (match.find()) {
            String str = match.group();
            alphaAndDigits =alphaAndDigits.replaceAll("\\" + str, "");
        }
        System.out.println(alphaAndDigits);