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