Java String substring() 方法示例

Java String substring() 方法返回此字符串的子字符串。此方法始終返回一個新字符串,原始字符串保持不變,因為Java中的字符串是不可變的

Java String substring() 方法

Java String substring 方法被重載並具有兩個變體。

  1. substring(int beginIndex): 此方法返回一個新字符串,該字符串是此字符串的子字符串。子字符串從指定索引處的字符開始,延伸到此字符串的末尾。
  2. substring(int beginIndex, int endIndex): 子字符串從指定的beginIndex開始,延伸到索引endIndex – 1的字符。因此,子字符串的長度為(endIndex – beginIndex)。

String substring() 方法重要點

  1. 如果以下任一條件滿足,字符串的子字符串方法都會拋出IndexOutOfBoundsException異常。
    • 如果beginIndex為負數
    • endIndex大於此字符串對象的長度
    • beginIndex大於endIndex
  2. 在兩種子字符串方法中,beginIndex是包含的,而endIndex是排除的。

Java字符串substring()示例

這裡是一個簡單的Java子字符串程序。

package com.journaldev.util;

public class StringSubstringExample {

	public static void main(String[] args) {
		String str = "www.journaldev.com";
		System.out.println("Last 4 char String: " + str.substring(str.length() - 4));
		System.out.println("First 4 char String: " + str.substring(0, 4));
		System.out.println("website name: " + str.substring(4, 14));
	}
}

上述子字符串示例程序的輸出是:

Last 4 char String: .com
First 4 char String: www.
website name: journaldev

使用substring()方法檢查回文

我們可以使用substring()方法來檢查一個字符串是否為回文。

package com.journaldev.util;

public class StringPalindromeTest {
	public static void main(String[] args) {
		System.out.println(checkPalindrome("abcba"));
		System.out.println(checkPalindrome("XYyx"));
		System.out.println(checkPalindrome("871232178"));
		System.out.println(checkPalindrome("CCCCC"));
	}

	private static boolean checkPalindrome(String str) {
		if (str == null)
			return false;
		if (str.length() <= 1) {
			return true;
		}
		String first = str.substring(0, 1);
		String last = str.substring(str.length() - 1);
		if (!first.equals(last))
			return false;
		else
			return checkPalindrome(str.substring(1, str.length() - 1));
	}
}

這裡我們檢查第一個字母和最後一個字母是否相同。如果它們不相同,則返回false。否則,遞歸地調用該方法,傳遞刪除了第一個和最後一個字母的子字符串。

你可以查看我們的GitHub存儲庫中更多的字符串示例。

參考:Oracle API文檔

Source:
https://www.digitalocean.com/community/tutorials/java-string-substring