最近寫代碼時遇到自字元串分割和截取的問題,在此總結一下。
字元串的分割:
一般自字元串的分割常用的方法是java.lang包中的String.split()方法,傳回是一個字元串數組。
文法:
public String[] split(String regex, int limit)
參數:
- regex -- 正規表達式分隔符。
- limit -- 分割的份數。
比如:需要分割字元串中的每個字元(空格也會被看做字元),split()中可以隻放引号,不加如其他參數:
輸出:
但是如果需要按照特定的字元來分割字元串,比如:空格,逗号,句号等,可以直接将指定字元當做參數:
此處用空格做例:
輸出:
需要注意的是像【.】【|】【+】【*】等都是轉義字元,在作為參數時,需要加入“\\”,如:
str.split(".")//錯誤寫法
str.split("\\.")//正确寫法
在需要進行多字元分割時,可以采用如下方法:
或者:
輸出:
值得注意的是,多字元分割時,如果字元串中存在連續兩個或者兩個以上指定分割字元,會在那個位置傳回空格。
前面介紹的都是比較簡單的應用,若果熟悉正規表達式,那麼會發現前面的一些分割符是以正規表達式的方式進行的分割,
複雜一些的就是利用正則串來分割
如:
輸出:
其他這裡不再贅述。
字元串的截取:
substring() 方法傳回字元串的子字元串。
文法:
public String substring(int beginIndex)
或
public String substring(int beginIndex, int endIndex)
參數
- beginIndex -- 起始索引(包括), 索引從 0 開始。
- endIndex -- 結束索引(不包括)。
先說substring(int beginIndex),輸入一個參數beginIndex,它會傳回一個從這個索引開始直到原字元串末尾的字元串
如:
輸出:
至于substring(int beginIndex, int endIndex),輸入兩個參數,第一個為開始索引,第二個為結束索引,它會傳回兩個索引之間的字元串,結束索引所指向字元不包括在傳回的字元串内。
例:
輸出: