在 Java 中按空格分割字串

Mohammad Irfan 2023年10月12日
  1. 在 Java 中使用 split() 方法分割字串
  2. 在 Java 中使用 split()trim() 方法分割字串
  3. 在 Java 中使用 split() 方法分割字串
  4. 使用 Java 中的 StringTokenizer 類拆分字串
  5. 在 Java 中使用 split()compile() 方法拆分字串
  6. 在 Java 中使用 split() 方法分割字串
在 Java 中按空格分割字串

本教程介紹瞭如何在 Java 中按空格分割字串。

有幾種在 Java 中拆分字串的方法,例如 String 類的 split() 方法,StringUtils 類的 split() 方法,StringTokenizer 類,Patterncompile() 方法等。

在 Java 中使用 split() 方法分割字串

Java 提供了一種方法 split() 來根據指定的 char 拆分字串。它是 String 類方法,在將字串吐出後返回一個字串陣列。我們可以使用其索引值進一步訪問陣列中的每個字串。

我們在 split() 方法中使用正規表示式以空格分隔字串。請參見下面的示例。

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "Hello This is DelfStack";
    String[] newStr = str.split("\\s+");
    for (int i = 0; i < newStr.length; i++) {
      System.out.println(newStr[i]);
    }
  }
}

輸出:

Hello
This
is
DelfStack

在 Java 中使用 split()trim() 方法分割字串

如果字串的開頭包含空格,它將返回一個陣列,該陣列包含第一個為空的索引。為避免此問題,我們可以使用 String 類的 trim() 方法來修剪字串中的所有前導和後導空格,然後應用 split() 方法來獲取所有結果的陣列字串。

由於它返回一個陣列,因此我們應該使用 for 迴圈按索引遍歷它的所有元素。請參見以下示例。

public class SimpleTesting {
  public static void main(String[] args) {
    String str = " Hello This is DelfStack";
    str = str.trim();
    String[] newStr = str.split("\\s+");
    for (int i = 0; i < newStr.length; i++) {
      System.out.println(newStr[i]);
    }
  }
}

輸出:

Hello
This
is
DelfStack

在 Java 中使用 split() 方法分割字串

除了 Java String 類之外,還有另一個類 StringUtils,它屬於 Apache 庫。因此,如果你使用的是 Apache 公共庫,則可以使用此類及其 split() 方法來按空格分隔字串。

split() 方法不使用正規表示式作為引數;它需要一個需要拆分的字串引數。請參見以下示例。

import org.apache.commons.lang3.StringUtils;
public class SimpleTesting {
  public static void main(String[] args) {
    String str = "Hello This is DelfStack";
    String[] newStr = StringUtils.split(str);
    for (int i = 0; i < newStr.length; i++) {
      System.out.println(newStr[i]);
    }
  }
}

輸出:

Hello
This
is
DelfStack

使用 Java 中的 StringTokenizer 類拆分字串

我們可以使用 StringTokenizer 類通過空格分割字串。它將分割後的標記作為字串返回。請參見下面的示例。

import java.util.StringTokenizer;
public class SimpleTesting {
  public static void main(String[] args) {
    String str = "Hello This is DelfStack";
    StringTokenizer tokens = new StringTokenizer(str, " ");
    String[] newStr = new String[tokens.countTokens()];
    int index = 0;
    while (tokens.hasMoreTokens()) {
      newStr[index] = tokens.nextToken();
      System.out.println(newStr[index]);
      index++;
    }
  }
}

輸出:

Hello
This
is
DelfStack

在 Java 中使用 split()compile() 方法拆分字串

compile() 方法屬於 Pattern 類,然後可以使用 split() 方法獲取分割字串陣列。我們使用 compile() 方法來指定分割字元。請參見下面的示例。

import java.util.regex.Pattern;
public class SimpleTesting {
  public static void main(String[] args) {
    String str = "Hello This is DelfStack";
    final Pattern space = Pattern.compile(" ");
    String[] newStr = space.split(str);
    for (int i = 0; i < newStr.length; i++) {
      System.out.println(newStr[i]);
    }
  }
}

輸出:

Hello
This
is
DelfStack

在 Java 中使用 split() 方法分割字串

String 類的 split() 方法可用於在指定的索引上拆分字串。例如,如果我們只想分割前三個空格,我們可以簡單地將此數字作為第二個引數傳遞給方法。請參見下面的示例。

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "Hello This is DelfStack";
    String[] newStr = str.split(" ", 3);
    for (int i = 0; i < newStr.length; i++) {
      System.out.println(newStr[i]);
    }
  }
}

輸出:

Hello
This
is DelfStack

相關文章 - Java String