1.字符串轉換字符串數組
String[] nameArr = StringUtils.tokenizeToStringArray(nameAttr, MULTI_VALUE_ATTRIBUTE_DELIMITERS); // nameAttr="made,in;china,;qqq,.aaa" ,MULTI_VALUE_ATTRIBUTE_DELIMITERS=",;."
將字符串按照指定的字符轉換成String[]數組,如字符串中不包含指定字符,則將整個字符串放進數組。如指定字符有多個,是分別按所有可能出現的字符來切割的。 字符串: "made,in;china,;qqq,.aaa" 指定字符: ",;." 返回數組:[made, in, china, qqq, aaa]
/** * Tokenize the given {@code String} into a {@code String} array via a * {@link StringTokenizer}. * <p>Trims tokens and omits empty tokens. * <p>The given {@code delimiters} string can consist of any number of * delimiter characters. Each of those characters can be used to separate * tokens. A delimiter is always a single character; for multi-character * delimiters, consider using {@link #delimitedListToStringArray}. * @param str the {@code String} to tokenize (potentially {@code null} or empty) * @param delimiters the delimiter characters, assembled as a {@code String} * (each of the characters is individually considered as a delimiter) * @return an array of the tokens * @see java.util.StringTokenizer * @see String#trim() * @see #delimitedListToStringArray */ public static String[] tokenizeToStringArray(@Nullable String str, String delimiters) { return tokenizeToStringArray(str, delimiters, true, true); }
2.字符串數組通過某符號連接
Collectors.joining 收集器
支持靈活的參數配置,可以指定字符串連接時的 分隔符,前綴 和 后綴 字符串
Stream<String> stream = Arrays.stream(nameArr);
String result = stream.collect(Collectors.joining("/", "[", "]"));
System.out.println(result);
// 輸出字符串 [made/in/china]