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之maven打完jar包之后將jar包放到指定位置匯總
這篇文章主要介紹了Java之maven打完jar包之后將jar包放到指定位置匯總,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04SpringBoot?替換?if?的參數(shù)校驗(yàn)示例代碼
Spring?Validation是對(duì)hibernate?validation的二次封裝,用于支持spring?mvc參數(shù)自動(dòng)校驗(yàn),接下來,我們以spring-boot項(xiàng)目為例,介紹Spring?Validation的使用,需要的朋友可以參考下2022-12-12java利用反射實(shí)現(xiàn)動(dòng)態(tài)代理示例
這篇文章主要介紹了java利用反射實(shí)現(xiàn)動(dòng)態(tài)代理示例,需要的朋友可以參考下2014-04-04關(guān)于SpringBoot中的XA事務(wù)詳解
這篇文章主要介紹了關(guān)于SpringBoot中的XA事務(wù)詳解,事務(wù)管理可以確保數(shù)據(jù)的一致性和完整性,同時(shí)也可以避免數(shù)據(jù)丟失和沖突等問題。在分布式環(huán)境中,XA?事務(wù)是一種常用的事務(wù)管理方式,需要的朋友可以參考下2023-07-07文件路徑正確,報(bào)java.io.FileNotFoundException異常的原因及解決辦法
這篇文章主要介紹了文件路徑正確,報(bào)java.io.FileNotFoundException異常的原因及解決辦法的相關(guān)資料,需要的朋友可以參考下2016-04-04教你用Springboot實(shí)現(xiàn)攔截器獲取header內(nèi)容
項(xiàng)目中遇到一個(gè)需求,對(duì)接上游系統(tǒng)是涉及到需要增加請(qǐng)求頭,請(qǐng)求頭的信息是動(dòng)態(tài)獲取的,需要?jiǎng)討B(tài)從下游拿到之后轉(zhuǎn)給上游,文中非常詳細(xì)的介紹了該需求的實(shí)現(xiàn),需要的朋友可以參考下2021-05-05