當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java String split()用法及代碼示例


在本教程中,我們將借助示例了解 Java String split() 方法。

split() 方法在指定的正則表達式處分割字符串並返回一個子字符串數組。

示例

class Main {
  public static void main(String[] args) {
    String text = "Java is a fun programming language";

    // split string from space
    String[] result = text.split(" ");


    System.out.print("result = ");
    for (String str : result) {
      System.out.print(str + ", ");
    }
  }
}

// Output: result = Java, is, a, fun, programming, language,

用法:

用法:

string.split(String regex, int limit)

這裏,stringString 類的對象。

參數:

字符串 split() 方法可以采用兩個參數:

  • regex- 在這個正則表達式中分割字符串(可以是字符串)
  • limit(可選)- 控製結果子串的數量

如果未傳遞limit 參數,則split() 返回所有可能的子字符串。

返回:

  • 返回子字符串數組

注意:如果正則表達式傳遞給split()無效,則split()方法引發PatternSyntaxExpression異常。

示例 1:split() 無限製參數

// importing Arrays to convert array to string
// used for printing arrays
import java.util.Arrays;

class Main {
  public static void main(String[] args) {
    String vowels = "a::b::c::d:e";

    // splitting the string at "::"
    // storing the result in an array of strings
    String[] result = vowels.split("::");


    // converting array to string and printing it
    System.out.println("result = " + Arrays.toString(result));
  }
}

輸出

result = [a, b, c, d:e]

在這裏,我們在 :: 處拆分字符串。由於沒有傳遞limit 參數,因此返回的數組包含所有子字符串。

split()帶限製參數

  • 如果 limit 參數為 0 或負數,則 split() 返回一個包含所有子字符串的數組。
  • 如果 limit 參數為正數(比如說 n ),則 split() 返回 n 子字符串的最大值。

示例 2:split() 帶限製參數

// importing Arrays to convert array to string
import java.util.Arrays;

class Main {
  public static void main(String[] args) {
    String vowels = "a:bc:de:fg:h";

    // splitting array at ":"

    // limit is -2; array contains all substrings
    String[] result = vowels.split(":", -2);

    System.out.println("result when limit is -2 = " + Arrays.toString(result));

    // limit is 0; array contains all substrings
    result = vowels.split(":", 0);
    System.out.println("result when limit is 0 = " + Arrays.toString(result));

    // limit is 2; array contains a maximum of 2 substrings
    result = vowels.split(":", 2);
    System.out.println("result when limit is 2 = " + Arrays.toString(result));

    // limit is 4; array contains a maximum of 4 substrings
    result = vowels.split(":", 4);
    System.out.println("result when limit is 4 = " + Arrays.toString(result));

    // limit is 10; array contains a maximum of 10 substrings
    result = vowels.split(":", 10);
    System.out.println("result when limit is 10 = " + Arrays.toString(result));
  }
}

輸出

result when limit is -2 = [a, bc, de, fg, h]
result when limit is 0 = [a, bc, de, fg, h]
result when limit is 2 = [a, bc:de:fg:h]
result when limit is 4 = [a, bc, de, fg:h]
result when limit is 10 = [a, bc, de, fg, h]

注意: split()方法將正則表達式作為第一個參數。如果您需要使用特殊字符,例如:\,|,^,*,+等,您需要轉義這些字符。例如,我們需要使用\\+分裂在+.

示例 3:split() 在 + 字符處

// importing Arrays to convert array to string
// used for printing arrays
import java.util.Arrays;

class Main {
  public static void main(String[] args) {
    String vowels = "a+e+f";

    // splitting the string at "+"
    String[] result = vowels.split("\\+");


    // converting array to string and printing it
    System.out.println("result = " + Arrays.toString(result));
  }
}

輸出

result = [a, e, f]

在這裏,為了在 + 處拆分字符串,我們使用了 \\+ 。這是因為+ 是一個特殊字符(在正則表達式中具有特殊含義)。

相關用法


注:本文由純淨天空篩選整理自 Java String split()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。