【问题标题】:How to extract the sub-string "2882649" from the string "automation130214141113 (order # 2882649)" using Java如何使用Java从字符串“automation130214141113(订单#2882649)”中提取子字符串“2882649”
【发布时间】:2026-02-21 06:20:07
【问题描述】:

我正在尝试从字符串 automation130214141113(订单号 2882649) 中仅提取 2882649

谁能帮帮我?

【问题讨论】:

标签: java regex delimiter


【解决方案1】:

我不确定您是否需要更动态的解决方案,更多上下文会有所帮助。但以下会将字符串解析为字符串“2882649”:

String str = "automation130214141113 (order # 2882649)";
String[] splitStr = str.split(" ");
String result = splitStr[3].substring(0, splitStr[3].length() - 1);

这不是最优雅的方法,但您会注意到,如果您打印结果,它将是字符串“2882649”。

【讨论】:

    【解决方案2】:

    欢迎来到 SO。这是简单的方法。

    String rawText = "automation130214141113 (order # 2882649)";
    String number = rawText.substring(s.indexOf("# ") + 1).substring(0, s.indexOf(")"));
    System.out.println(number);
    

    【讨论】:

      【解决方案3】:

      字符串 automation130214141113(订单#2882649)中提取子字符串 2882649最简单的方法将使用 多个分隔符 #) 字符,您可以使用以下解决方案:

      • 代码块:

        String MyString = "automation130214141113 (order # 2882649)";
        String[] SplitString = MyString.split("# |\\)");
        System.out.println(SplitString[1]);
        
      • 控制台输出:

        2882649
        

      【讨论】: