Java 我可以在split()中使用字符串数组来指定分隔符吗?

Java 我可以在split()中使用字符串数组来指定分隔符吗?,java,arrays,split,delimiter,Java,Arrays,Split,Delimiter,java/编码新手,正在努力掌握它,因此提前感谢您的帮助 我使用一组运算符作为分隔符来拆分这个字符串“s” String[]workableParts=s.split((? 一个可能的选择是使用Arrays.toString(ops);将字符串数组转换为字符串,并在正则表达式中使用该字符串。 这将返回格式为[-,+,*,/,…]的字符串 现在,您可以将,替换为空字符串“”,并在正则表达式中使用子字符串 private String[]ops={-”、“+”、“*”、“/”、“%”、“^”、“=”

java/编码新手,正在努力掌握它,因此提前感谢您的帮助

我使用一组运算符作为分隔符来拆分这个字符串“s”

String[]workableParts=s.split((?
一个可能的选择是使用
Arrays.toString(ops);
将字符串数组转换为字符串,并在正则表达式中使用该字符串。 这将返回格式为
[-,+,*,/,…]
的字符串

现在,您可以将
替换为空字符串
“”
,并在正则表达式中使用子字符串

private String[]ops={-”、“+”、“*”、“/”、“%”、“^”、“=”};
String joinedOps=Arrays.toString(strArray);
joinedOps=joinedOps.substring(1,str.length()-1)。替换(“,”,”);
字符串regex=“…..”+joinedOps+”;

您可以这样做。定义您自己的拆分方法并在其中构建正则表达式。更改ops数组时,您将修改正则表达式

注意:在放置操作时必须小心,以免它们构造意外的字符类。例如,
-
应位于前面,而
^
不应位于前面

static String[] ops = { "-", "+", "*", "/", "%", "^", "=" };

public static void main(String[] args) {
        String s = "7+7-8^2";

        String[] workableParts = opSplit(s);        
        System.out.println(Arrays.toString(workableParts));     
}
印刷品

[7, +, 7, -, 8, ^, 2]
方法


public static String[] opSplit(String s) {
    String op = String.join("", ops);
    String regex = "(?<=[" + op + "])|(?=[" + op + "])";
    return s.split(regex);
}

公共静态字符串[]opSplit(字符串s){
String op=String.join(“,ops);

String正则表达式=((或)<代码>”[“+字符串。连接”(“,”,OPS)+“>”。“这些代码用于“但不在”代码> >代码> >代码> > /CUT>中间,而不是“代码> >代码>是一个运算符,它是C、C++、java、python、js、GAWK和perl,以及一些外壳,当然也不是任何多字符操作符(s)。.谢谢!这正是我需要的帮助-非常感谢:)