Java String substring()方法示例

时间:2020-02-23 14:34:33  来源:igfitidea点击:

Java String substring()方法返回此字符串的子字符串。
此方法始终返回一个新字符串,而原始字符串则保持不变,因为String在Java中是不可变的。

Java String substring()方法

Java String子字符串方法已重载,并且具有两个变体。

  • substring(int beginIndex):此方法返回一个新字符串,该字符串是该字符串的子字符串。
    子字符串以指定索引处的字符开头,并延伸到该字符串的末尾。

  • substring(int beginIndex,int endIndex):子字符串从指定的beginIndex开始,并扩展到索引endIndex – 1处的字符。
    因此,子字符串的长度为(endIndex – beginIndex)。

String substring()方法要点

  • 如果满足以下任何条件,则两个字符串子字符串方法都可以抛出IndexOutOfBoundsException

  • endIndex大于此String对象的长度

  • beginIndex大于endIndex

  • 在两个子字符串方法中,beginIndex是包含的,endIndex是排除的。

Java String substring()示例

这是Java中子字符串的简单程序。

package com.theitroad.util;

public class StringSubstringExample {

	public static void main(String[] args) {
		String str = "www.theitroad.local";
		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: theitroad

使用substring()方法检查回文

我们可以使用substring()方法来检查String是否是回文。

package com.theitroad.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。
否则,再次调用该方法以递归方式传递子字符串,并删除第一个和最后一个字母。