有 Java 编程相关的问题?

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

Java使用多种条件拆分字符串

我想沿着几个不同的条件分开一根绳子- 我知道有一种叫做String的Java String方法。split(element),它根据指定的元素将字符串拆分为数组

然而,在多个对象之间进行拆分似乎非常复杂——尤其是在拆分必须发生在一系列元素的情况下

确切地说,我希望java拆分字符串

  • “a>;=b”变成{a',“>;=”,“b”}

  • “a>;b”变成{“a”,“>;”,“b”}

  • “a==b”变成{a',“==”,“b”}

我也一直在摆弄正则表达式,只是想看看如何精确地根据这个参数拆分它,但我得到的最接近的结果是沿着单个字符拆分

编辑:a和b是任意长度的字符串。我只想沿着不同类型的比较器进行划分“>;”,“>;=”,“=”

例如,a可以是“苹果”,b可以是“橙色”

所以最后我想把“Apple>;=Orange”中的字符串变成 {“苹果”、“>;=”、“橙色”}


共 (2) 个答案

  1. # 1 楼答案

    你可以使用正则表达式。无论你使用a、b或abc作为变量,你都会得到组1中的第一个变量,组2中的条件和组3中的第二个变量

        Pattern pattern = Pattern.compile("(\\w+)([<=>]+)(\\w+)");
        Matcher matcher = pattern.matcher("var1>=ar2b");
    
        if(matcher.find()){
            System.out.println(matcher.group(1));
            System.out.println(matcher.group(2));
            System.out.println(matcher.group(3));
        }
    
  2. # 2 楼答案

    以下代码适用于您的示例:

    System.out.println(Arrays.asList("a<=b".split("\\b")));
    

    它在单词边界上拆分字符串

    如果你需要更详细的拆分,你必须提供更多的例子