1、java.lang.String中的split(String regex),其中參數是正則表達式。如果不懂正則表達式,可以用以下方法:
org.apache.commons.lang.StringUtils提供的split改變了這一狀況,開始使用完整的字符串作爲參數,而不是regex。同時,對類似功能的jdk版本的StringTokenizer,在內部方法splitWorker中有段註釋:Direct code is quicker than StringTokenizer.也就是說,這個是更快的一個工具了~~
在maven中使用時,只需要在pom.xml中加入如下,
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0</version>
</dependency>
然後在java代碼中,
import org.apache.commons.lang3.StringUtils;
StringUtils.split(where,"=>+-*/<()");
ok了。2、
但說明的一點是其實用正則表達式非常方便,可以解決許多有難度的問題。
比如希望以逗號(,)分割一個字符傳,但是希望保持字符串中的" "引用起來的內容不被分割,可以用:
sentence.split("[,]+(?=(?:[^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)");
來表示。
如果希望" "和' '引用的內容都不被分割,可以用:
sentence.split("[,]+(?=(?:[^'\"]|'[^']*'|\"[^\"]*\")*$)");
來處理。