有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中拆分包含(

我正在尝试用Java拆分字符串

比如说

Hello (1234)

字符串中不得包含(后面的部分)。 我期待着以下几点:

Hello

你会怎么做


共 (3) 个答案

  1. # 1 楼答案

    只是根据

    • 零个或多个空格
    • 和下面的(字符
    • 然后从分割部分的索引0中获取值

      "Hello (1234)".split("\\s*\\(")[0];
      

        "Hello (1234)".split("\\s+")[0];
    
  2. # 2 楼答案

    你可以试试下面的正则表达式

      String[] split = "Hello (1234)".split("\\s*\\([\\d]*\\)*");
      System.out.println(split[0]);
    

    \\s*空间可能被忽略
    \\((或左括号在正则表达式so\\)中有特殊含义(仅表示(
    与)或右括号\\)的情况相同。
    \\d*数字可能存在
    如果该字符至少出现一次,则可以使用+而不是*

  3. # 3 楼答案

    可以不使用任何内容替换括号中的内容

        String str = "Hello(1234)";
        String result = str.replaceAll("\\(.*\\)", "");
        System.out.println(result);
    

    你在问题中提到拆分操作,但你说

    The part after ( must not be included in the string. I am expecting the following:

    所以我假设您正在丢弃(1234)?如果需要保存它,请考虑另一个答案(使用{{CD2>})