mirror of
https://gitee.com/dromara/hutool.git
synced 2025-05-10 15:48:00 +08:00
StrUtil工具类增加subBetweenAl(str, beforeAndAfter)方法
This commit is contained in:
parent
99eeb30ffe
commit
03fd34b039
@ -2415,6 +2415,43 @@ public class StrUtil {
|
|||||||
return result.toArray(new String[0]);
|
return result.toArray(new String[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 截取指定字符串多段中间部分,不包括标识字符串<br>
|
||||||
|
* <p>
|
||||||
|
* 栗子:
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* StrUtil.subBetweenAll(null, *) = []
|
||||||
|
* StrUtil.subBetweenAll(*, null) = []
|
||||||
|
* StrUtil.subBetweenAll(*, *) = []
|
||||||
|
* StrUtil.subBetweenAll("", "") = []
|
||||||
|
* StrUtil.subBetweenAll("", "#") = []
|
||||||
|
* StrUtil.subBetweenAll("gotanks", "") = []
|
||||||
|
* StrUtil.subBetweenAll("#gotanks#", "#") = ["gotanks"]
|
||||||
|
* StrUtil.subBetweenAll("#hello# #world#!", "#") = ["hello", "world"]
|
||||||
|
* StrUtil.subBetweenAll("#hello# world#!", "#"); = ["hello"]
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @param str 被切割的字符串
|
||||||
|
* @param beforeAndAfter 截取开始和结束的字符串标识
|
||||||
|
* @return 截取后的字符串
|
||||||
|
* @author gotanks
|
||||||
|
* @since 5.4.7
|
||||||
|
*/
|
||||||
|
public static String[] subBetweenAll(CharSequence str, CharSequence beforeAndAfter) {
|
||||||
|
String[] resultArr = new String[0];
|
||||||
|
if (hasEmpty(str, beforeAndAfter) || !contains(str, beforeAndAfter)) {
|
||||||
|
return resultArr;
|
||||||
|
}
|
||||||
|
|
||||||
|
final List<String> result = new LinkedList<>();
|
||||||
|
String[] split = split(str, beforeAndAfter);
|
||||||
|
for (int i = 1, length = split.length - 1; i < length; i = i + 2) {
|
||||||
|
result.add(split[i]);
|
||||||
|
}
|
||||||
|
return result.toArray(resultArr);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 给定字符串是否被字符包围
|
* 给定字符串是否被字符包围
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user