Java 字符串 substring() 方法示例

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

Java的String substring()方法

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

    1. substring(int beginIndex): 此方法返回一个新的字符串,它是该字符串的一个子串。该子串从指定索引位置开始,并延伸到该字符串的末尾。

 

    substring(int beginIndex, int endIndex): 该子串从指定的beginIndex位置开始,延伸至index endIndex – 1的字符。因此,子串的长度为(endIndex – beginIndex)。

字符串 substring() 方法的重要要点

    1. 如果满足以下任一条件,两种字符串子串方法都可能抛出IndexOutOfBoundsException异常。

如果beginIndex为负数,
endIndex大于此String对象的长度,
beginIndex大于endIndex。

在两种子串方法中,beginIndex是包含的,而endIndex是排除的。

Java的String substring()示例

这是一个用Java编写的简单的字符串截取程序。

package com.Olivia.util;

public class StringSubstringExample {

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

使用substring()方法检查回文

我们可以使用substring()方法来检查一个字符串是否是回文。

package com.Olivia.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));
	}
}

在这里我们正在检查第一个字母和最后一个字母是否相同。如果不相同,返回假。否则,递归调用该方法,传递去掉第一个和最后一个字母的子字符串。

您可以从我们的GitHub仓库中查看更多的字符串示例。

参考资料:Oracle API 文档

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds