Java中的substring()方法使用舉例詳解
前言
在 Java 編程中,字符串(String)操作是非常常見的任務(wù)之一。為了方便開發(fā)者操作字符串,Java 提供了許多內(nèi)置方法,其中 substring() 是一個(gè)非常強(qiáng)大且常用的方法。substring() 方法用于提取字符串中的一個(gè)子字符串,可以根據(jù)需要獲取字符串的任意部分。
1. substring() 方法的概述
substring() 方法屬于 String 類,用于從字符串中提取一個(gè)子字符串。它有兩個(gè)常用的重載版本:
String substring(int beginIndex) String substring(int beginIndex, int endIndex)
2. substring() 方法的參數(shù)與返回值
beginIndex: 這是起始索引(包括在內(nèi)),表示從該索引開始的字符將包含在返回的子字符串中。索引從 0 開始。
endIndex: (可選)這是結(jié)束索引(不包括在內(nèi)),表示在該索引之前的字符將包含在返回的子字符串中。
返回值: 返回一個(gè)新的字符串,它包含從 beginIndex 開始到 endIndex 之前的所有字符。如果只指定 beginIndex,則返回從該位置開始到字符串末尾的所有字符。
3. substring() 方法的使用示例
示例 1:使用 substring(int beginIndex)
這種形式的 substring() 方法從指定的起始索引提取直到字符串末尾的所有字符。
public class SubstringExample {
public static void main(String[] args) {
String str = "Hello, Java!";
// 提取從索引 7 開始的子字符串
String result = str.substring(7);
System.out.println("結(jié)果: " + result); // 輸出: "Java!"
}
}
示例 2:使用 substring(int beginIndex, int endIndex)
這種形式的 substring() 方法提取從 beginIndex 到 endIndex 之間的字符,endIndex 處的字符不包含在結(jié)果中。
public class SubstringExample {
public static void main(String[] args) {
String str = "Hello, Java!";
// 提取從索引 7 到 11 之間的子字符串
String result = str.substring(7, 11);
System.out.println("結(jié)果: " + result); // 輸出: "Java"
}
}
4. 注意事項(xiàng)
使用 substring() 方法時(shí),有幾個(gè)重要的注意事項(xiàng):
索引范圍: beginIndex 必須在 0 到 length() 之間,而 endIndex 必須在 beginIndex 到 length() 之間。否則會(huì)拋出 StringIndexOutOfBoundsException 異常。
String str = "Hello, Java!"; String result = str.substring(15); // 這會(huì)拋出異常,因?yàn)樗饕龇秶?
空字符串: 如果 beginIndex 等于字符串的長(zhǎng)度,substring() 返回一個(gè)空字符串。如果 beginIndex 和 endIndex 相等,也會(huì)返回一個(gè)空字符串。
String str = "Hello, Java!"; String result = str.substring(12, 12); // 返回空字符串
性能問題: 早期版本的 Java 中,substring() 會(huì)導(dǎo)致原始字符串的內(nèi)存無法釋放,因?yàn)樽幼址匀灰迷甲址淖址麛?shù)組。但從 Java 7 Update 6 開始,這個(gè)問題已經(jīng)被解決了。
5. 常見的用法
提取文件擴(kuò)展名:
String fileName = "example.txt";
String extension = fileName.substring(fileName.lastIndexOf(".") + 1);
System.out.println("文件擴(kuò)展名是: " + extension); // 輸出: "txt"
提取URL中的域名:
String url = "https://www.example.com/index.html";
String domain = url.substring(url.indexOf("://") + 3, url.indexOf("/", url.indexOf("://") + 3));
System.out.println("域名是: " + domain); // 輸出: "www.example.com"
去除字符串兩端的括號(hào):
String text = "(Java)";
String result = text.substring(1, text.length() - 1);
System.out.println("去除括號(hào)后的文本: " + result); // 輸出: "Java"
6. 總結(jié)
substring() 是 Java 中非常有用的字符串處理方法,它使得提取字符串的任意部分變得非常簡(jiǎn)單。通過了解 substring() 方法的使用方式及其注意事項(xiàng),你可以更加靈活地操作字符串,滿足各種實(shí)際開發(fā)需求。
到此這篇關(guān)于Java中的substring()方法使用的文章就介紹到這了,更多相關(guān)Java substring()方法詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Java中GuavaCache返回Null的注意事項(xiàng)
Guava在實(shí)際的Java后端項(xiàng)目中應(yīng)用的場(chǎng)景還是比較多的,比如限流,緩存,容器操作之類的,本文主要介紹了GuavaCache返回Null的注意事項(xiàng),感興趣的可以了解一下2021-10-10
Eclipse啟動(dòng)Tomcat超時(shí)問題的解決方法
2013-03-03
Spring?MVC實(shí)現(xiàn)GET請(qǐng)求接收Date類型參數(shù)
這篇文章主要介紹了Spring?MVC實(shí)現(xiàn)GET請(qǐng)求接收Date類型參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
Springboot集成Tika實(shí)現(xiàn)文檔解析
Tika是一款A(yù)pache開源的,跨平臺(tái),支持多品種文本類型的內(nèi)容檢測(cè)和提取工具,本文將介紹Springboot如何集成Tika實(shí)現(xiàn)文檔解析,需要的可以參考下2024-11-11
在Java中解析JSON數(shù)據(jù)代碼示例及說明
這篇文章主要介紹了在Java中解析JSON數(shù)據(jù)的相關(guān)資料,文中講解了如何使用Gson和Jackson庫(kù)解析JSON數(shù)據(jù),并展示了如何將日期時(shí)間字符串轉(zhuǎn)換為時(shí)間戳,通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
Java中Optional.of()方法及源碼解析(非常詳細(xì)!)
這篇文章主要給大家介紹了關(guān)于Java中Optional.of()方法及源碼解析的相關(guān)資料,Java中java.util .Optional類的of()方法用于獲得該Optional類中具有指定類型的指定值的一個(gè)實(shí)例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
SpringBoot2.0實(shí)現(xiàn)多圖片上傳加回顯
這兩天公司有需求讓做一個(gè)商戶注冊(cè)的后臺(tái)功能,其中需要商戶上傳多張圖片并回顯,本文就使用SpringBoot2.0實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2021-07-07
Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析
這篇文章主要介紹了Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08

