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

Java中如何用正则提取双竖线间内容并去除空格?

解决双竖线分隔字符串的提取与去空格问题

嘿,这问题其实不难搞定!咱们直接用Java的split()方法配合合适的正则表达式就能完美解决——核心是要处理好正则里的特殊字符,同时兼顾分隔符前后的空格。

关键思路

双竖线||里的|是正则表达式的元字符(表示逻辑或),所以必须用反斜杠转义。另外,要自动去掉分隔符前后的空格,咱们可以把“任意空格+双竖线+任意空格”作为分割规则。对应的正则表达式是:\\s*\\|\\|\\s*

  • \\s*:匹配0个或多个空白字符(包括空格、制表符等)
  • \\|\\|:匹配双竖线(每个|都要转义成\\|)

Java代码实现

假设你的示例输入字符串是类似这样的:

String input = " Item number 1 || Item number 2 || 168 ";

直接用split()方法分割,然后就能得到你想要的干净结果:

public class SplitDoublePipe {
    public static void main(String[] args) {
        String input = " Item number 1 || Item number 2 || 168 ";
        // 使用正则分割,自动处理前后空格
        String[] items = input.split("\\s*\\|\\|\\s*");
        
        // 输出结果
        for (String item : items) {
            System.out.println(item);
        }
    }
}

运行结果

执行这段代码后,会输出:

Item number 1
Item number 2
168

完全符合你的预期!如果输入字符串前后有多余的空格(比如开头或结尾的空格),split()也会自动处理——因为正则里的\\s*会匹配这些空格,分割后不会产生空字符串(除非输入全是空格,但这种场景一般不用考虑)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:29:22