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

Java中如何移除除大括号{}外的所有标点符号?

解决方案

你可以修改正则表达式,只移除除大括号{}之外的标点符号,这样就能保留带大括号的关键字,同时清理其他附着在单词上的标点。

修改后的代码如下:

String keys = " Dear {User_Name}, your process...";
// 移除除{和}外的所有标点,再拆分字符串(用\\s+处理多空格情况)
List<String> bodyContent = Arrays.asList(
    keys.replaceAll("[\\p{P}&&[^\\{\\}]]", "")
        .trim() // 去除首尾空格
        .split("\\s+") // 按任意数量空格拆分,避免空元素
);

正则说明

[\\p{P}&&[^\\{\\}]] 是一个复合字符类:

  • \\p{P} 匹配所有标点符号
  • &&[^\\{\\}] 表示排除{和}这两个字符
  • 整体作用是:只替换掉非大括号的标点,保留{User_Name}这类关键字的完整格式

执行后,bodyContent的内容会是 ["Dear", "{User_Name}", "your", "process"],完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 22:15:26