【发布时间】:2017-07-03 11:41:19
【问题描述】:
我想要做的是获取一个 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;
}
【问题讨论】:
-
问题是什么?
-
String splitRegex = Arrays.stream(new String(delimiters).split("")).map(Pattern::quote).collect(Collectors.joining("|")); return input_words.split(splitRegex); -
@shmosel,太好了。
-
这样做要简单得多:
input_words_split = input_words.split("[" + String.valueOf(delimiters) + "]"); -
@neildo 这对于特殊字符会失败。