天天看點

【Java字元串分割[split()]和截取[substring()]】

最近寫代碼時遇到自字元串分割和截取的問題,在此總結一下。

字元串的分割:

一般自字元串的分割常用的方法是java.lang包中的String.split()方法,傳回是一個字元串數組。

文法:

public String[] split(String regex, int limit)      

參數:

  • regex -- 正規表達式分隔符。
  • limit -- 分割的份數。

比如:需要分割字元串中的每個字元(空格也會被看做字元),split()中可以隻放引号,不加如其他參數:

【Java字元串分割[split()]和截取[substring()]】

輸出:

【Java字元串分割[split()]和截取[substring()]】

但是如果需要按照特定的字元來分割字元串,比如:空格,逗号,句号等,可以直接将指定字元當做參數:

此處用空格做例:

【Java字元串分割[split()]和截取[substring()]】

輸出:

【Java字元串分割[split()]和截取[substring()]】

需要注意的是像【.】【|】【+】【*】等都是轉義字元,在作為參數時,需要加入“\\”,如:

str.split(".")//錯誤寫法

str.split("\\.")//正确寫法
           

在需要進行多字元分割時,可以采用如下方法:

【Java字元串分割[split()]和截取[substring()]】

或者:

【Java字元串分割[split()]和截取[substring()]】

輸出:

【Java字元串分割[split()]和截取[substring()]】

值得注意的是,多字元分割時,如果字元串中存在連續兩個或者兩個以上指定分割字元,會在那個位置傳回空格。

前面介紹的都是比較簡單的應用,若果熟悉正規表達式,那麼會發現前面的一些分割符是以正規表達式的方式進行的分割,

複雜一些的就是利用正則串來分割

如:

【Java字元串分割[split()]和截取[substring()]】

輸出:

【Java字元串分割[split()]和截取[substring()]】

其他這裡不再贅述。

字元串的截取:

substring() 方法傳回字元串的子字元串。

文法:

public String substring(int beginIndex)

或

public String substring(int beginIndex, int endIndex)
      

參數

  • beginIndex -- 起始索引(包括), 索引從 0 開始。
  • endIndex -- 結束索引(不包括)。

先說substring(int beginIndex),輸入一個參數beginIndex,它會傳回一個從這個索引開始直到原字元串末尾的字元串

如:

【Java字元串分割[split()]和截取[substring()]】

輸出:

【Java字元串分割[split()]和截取[substring()]】

至于substring(int beginIndex, int endIndex),輸入兩個參數,第一個為開始索引,第二個為結束索引,它會傳回兩個索引之間的字元串,結束索引所指向字元不包括在傳回的字元串内。

例:

【Java字元串分割[split()]和截取[substring()]】

輸出:

【Java字元串分割[split()]和截取[substring()]】