You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除字符串中的所有标点符号及特殊符号?附代码示例

如何移除字符串中的所有标点符号?

嘿,这个需求太常见啦!我给你分享两种实用的Java实现方法,轻松搞定你说的场景:

方法一:正则表达式(最简洁)

正则表达式是处理这类字符串替换的利器,Java里可以直接用replaceAll()方法配合标点符号匹配规则:

String str = "\"hello!.?,\"";
// 使用\\p{Punct}匹配所有标点符号,替换为空字符串
String cleanedStr = str.replaceAll("\\p{Punct}", "");
System.out.println(cleanedStr); // 输出: hello

这里的\\p{Punct}是Java正则的预定义字符类,会匹配所有常见的标点符号——包括你示例里的双引号、感叹号、句号、问号、逗号,完全符合你的需求。

方法二:手动遍历过滤(更灵活)

如果你不想用正则,或者之后需要自定义保留某些符号,手动遍历字符的方法会更可控:

String str = "\"hello!.?,\"";
StringBuilder resultBuilder = new StringBuilder();

for (char c : str.toCharArray()) {
    // 判断字符是否为字母或数字,不是的就跳过(即移除)
    if (Character.isLetterOrDigit(c)) {
        resultBuilder.append(c);
    }
}

String cleanedStr = resultBuilder.toString();
System.out.println(cleanedStr); // 输出: hello

这种方法的好处是,如果你之后想调整规则(比如保留某个特殊符号),只需要修改if里的判断条件就行,比如if (Character.isLetterOrDigit(c) || c == '_')就能保留下划线,非常灵活。

内容的提问来源于stack exchange,提问作者abc123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:31:05