我想要做的是获取一个input_string,以及一个char []的分隔符,然后使用该char []中的所有分隔符拆分该input_string。
这是我到目前为止的代码,但我还没有找到在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;
}
答案 0 :(得分:2)
以递归方式:
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);
}
}
}
使用方法:
public static void main(String[] args) {
String input = "te,st;rr;a,e";
String[] separators = {",", ";"};
List<String> output = new ArrayList<>();
split(input, separators, 0, output);
System.out.println(output);
}
输出:
[te, st, rr, a, e]