如何在Java中使用多个分隔符使用分隔符数组拆分字符串?

如何在Java中使用多个分隔符使用分隔符数组拆分字符串?,java,string,Java,String,我要做的是获取一个输入字符串以及一个分隔符的char[],然后使用该char[]中的所有分隔符拆分该输入字符串 这是到目前为止我已经掌握的代码,但是我还没有找到在split函数中使用char[]的方法。如果这是不可能的,那么我意识到我可以让某人为分隔符创建一个正则表达式,但这意味着要尽可能简单地更改任何内容,因此添加一个额外的分隔符就像将它添加到分隔符数组一样简单 public String[] stringSplit(char[] delimiters, String input_words)

我要做的是获取一个输入字符串以及一个分隔符的char[],然后使用该char[]中的所有分隔符拆分该输入字符串

这是到目前为止我已经掌握的代码,但是我还没有找到在split函数中使用char[]的方法。如果这是不可能的,那么我意识到我可以让某人为分隔符创建一个正则表达式,但这意味着要尽可能简单地更改任何内容,因此添加一个额外的分隔符就像将它添加到分隔符数组一样简单

public String[] stringSplit(char[] delimiters, String input_words) {
    String[] input_words_split = null;
    input_words_split = input_words.split(delimiters[0]);

    return input_words_split;

}
以递归方式:

 private static void split(String input, String[] separators, int index, List<String> output) {
        if(index == separators.length) {

            output.add(input);

        } else {
            final String separator = separators[index];

            for (String s : input.split(separator)) {
                split(s, separators, index + 1, output);
            }

        }
    }
以递归方式:

 private static void split(String input, String[] separators, int index, List<String> output) {
        if(index == separators.length) {

            output.add(input);

        } else {
            final String separator = separators[index];

            for (String s : input.split(separator)) {
                split(s, separators, index + 1, output);
            }

        }
    }


问题是什么?
stringsplitregex=Arrays.stream(新字符串(分隔符).split(“”).map(Pattern::quote.collector.joining(“|”);返回输入单词.split(splitRegex)
@shmosel,太好了。只需这样做就简单多了:
input\u words\u split=input\u words.split(“[”+String.valueOf(delimiters)+“])
@neildo对于特殊字符将失败。问题是什么?
String splitRegex=Arrays.stream(新字符串(分隔符)。split(“”)。map(Pattern::quote)。collect(收集器。加入(“|”);返回输入单词.split(splitRegex)
@shmosel,太好了。只需这样做就简单多了:
input\u words\u split=input\u words.split(“[”+String.valueOf(delimiters)+“])@neildo对于特殊字符来说,这将失败。在问题结束后,这是如何发布的?我想它是在问题结束前发布的。它是在20分钟后发布的。嗯,我不太确定:哦,在问题结束后是如何发布的?我想它是在问题结束前发布的。它是发布的20分钟后。嗯,我不太确定:哦
[te, st, rr, a, e]