java text.split_java spring一个类型split的方法

/*** Take a String which is a delimited list and convert it to a String array.

*

A single delimiter can consists of more than one character: It will still

* be considered as single delimiter string, rather than as bunch of potential

* delimiter characters - in contrast to {@codetokenizeToStringArray}.

*@paramstr the input String

*@paramdelimiter the delimiter between elements (this is a single delimiter,

* rather than a bunch individual delimiter characters)

*@paramcharsToDelete a set of characters to delete. Useful for deleting unwanted

* line breaks: e.g. "\r\n\f" will delete all new lines and line feeds in a String.

*@returnan array of the tokens in the list

*@see#tokenizeToStringArray*/

public staticString[] delimitedListToStringArray(String str, String delimiter, String charsToDelete) {if (str == null) {return new String[0];

}if (delimiter == null) {return newString[] {str};

}

List result = new ArrayList();if ("".equals(delimiter)) {for (int i = 0; i < str.length(); i++) {

result.add(deleteAny(str.substring(i, i+ 1), charsToDelete));

}

}else{int pos = 0;intdelPos;while ((delPos = str.indexOf(delimiter, pos)) != -1) {

result.add(deleteAny(str.substring(pos, delPos), charsToDelete));

pos= delPos +delimiter.length();

}if (str.length() > 0 && pos <=str.length()) {//Add rest of String, but not in case of empty input.

result.add(deleteAny(str.substring(pos), charsToDelete));

}

}returntoStringArray(result);

}/*** Copy the given Collection into a String array.

* The Collection must contain String elements only.

*@paramcollection the Collection to copy

*@returnthe String array ({@codenull} if the passed-in

* Collection was {@codenull})*/

public static String[] toStringArray(Collectioncollection) {if (collection == null) {return null;

}return collection.toArray(newString[collection.size()]);

}/*** Delete any character in a given String.

*@paraminString the original String

*@paramcharsToDelete a set of characters to delete.

* E.g. "az\n" will delete ‘a‘s, ‘z‘s and new lines.

*@returnthe resulting String*/

public staticString deleteAny(String inString, String charsToDelete) {if (!hasLength(inString) || !hasLength(charsToDelete)) {returninString;

}

StringBuilder sb= newStringBuilder();for (int i = 0; i < inString.length(); i++) {char c =inString.charAt(i);if (charsToDelete.indexOf(c) == -1) {

sb.append(c);

}

}returnsb.toString();

}/*** Check that the given String is neither {@codenull} nor of length 0.

* Note: Will return {@codetrue} for a String that purely consists of whitespace.

*@paramstr the String to check (may be {@codenull})

*@return{@codetrue} if the String is not null and has length

*@see#hasLength(CharSequence)*/

public static booleanhasLength(String str) {returnhasLength((CharSequence) str);

}/*** Check that the given CharSequence is neither {@codenull} nor of length 0.

* Note: Will return {@codetrue} for a CharSequence that purely consists of whitespace.

*

 
 

* StringUtils.hasLength(null) = false

* StringUtils.hasLength("") = false

* StringUtils.hasLength(" ") = true

* StringUtils.hasLength("Hello") = true

*

*@paramstr the CharSequence to check (may be {@codenull})

*@return{@codetrue} if the CharSequence is not null and has length

*@see#hasText(String)*/

public static booleanhasLength(CharSequence str) {return (str != null && str.length() > 0);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值