Java 字符串 substring() 方法示例
Java String substring() 方法返回此字符串的子字符串。此方法始终返回一个新字符串,而原始字符串保持不变,因为String 在 Java 中是不可变的。
Java 字符串 substring() 方法
Java String substring 方法已重载,有两种变体。
substring(int beginIndex)
:此方法返回一个新字符串,该新字符串是此字符串的子字符串。子字符串以指定索引处的字符开头,并延伸到此字符串的末尾。substring(int beginIndex, int endIndex)
:子字符串从指定的 beginIndex 开始,延伸到索引 endIndex - 1 处的字符。因此子字符串的长度为 (endIndex - beginIndex)。
String substring() 方法重点
IndexOutOfBoundsException
如果满足以下任何条件,则 两种字符串子字符串方法都可能抛出异常。- 如果 beginIndex 为负数
- endIndex 大于此 String 对象的长度
- beginIndex 大于 endIndex
- 在两种子字符串方法中,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 存储库中查看更多字符串示例。