首页 > 解决方案 > splitByWholeSeparator、splitPreserveAllTokens 和 splitByWholeSeparatorPreserveAllTokens 之间的区别

问题描述

在课堂上,和org.apache.commons.lang3.StringUtils有什么区别?我检查了JavaDoc,完全不清楚为什么我会使用一种方法而不是其他方法。splitByWholeSeparator(String, String)splitPreserveAllTokens(String, String)splitByWholeSeparatorPreserveAllTokens(String, String)

标签: javasplitapache-stringutilsapache-commons-lang3

解决方案


在查看了一些文档后,我看到了可能是什么问题。

  1. split接受分隔符字符串并将其中的每个字符视为分隔符字符。相邻的分隔符被视为一个,没有空数组元素。
  2. splitPreserveAllTokens做相同但相邻的分隔符会导致空数组元素。
  3. splitByWholeSeparator使用整个分隔符字符串来分割字符串。相邻的分隔符字符串被视为一个,没有空数组元素。
  4. splitByWholeSeparatorPreserveAllTokens执行相同但相邻的分隔符字符串会导致空数组元素。

一个例子:

String: "a,b,;,;e,f,,g,h"
Separator: ",;"

split: ["a","b","e","f,"g",h"]
splitPreserveAllTokens: ["a","b","","","","e","f","","g","h"]
splitByWholeSeparator: ["a,b","e,f,,g,h"]
splitByWholeSeparatorPreserveAllTokens: ["a,b","","e,f,,g,h"]

推荐阅读