介紹
Java substring()方法用於截取字元串中的一部分。該方法有多種重載形式,允許在不同的情況下創建不同的子字元串。
基本使用
使用substring()方法截取字元串可以通過指定截取的起始位置和結束位置來實現。例如:
String str = "Java substring demo"; String substr = str.substring(5, 13); System.out.println(substr);
這段代碼將返回”substring”,因為該字元串位於原字元串的第5個位置到第13個位置之間。
重載形式
1. 截取從指定位置開始的子字元串
如果只傳入一個整數作為參數,則會返回從該位置開始到字元串的末尾的子字元串。例如:
String str = "Java substring demo"; String substr = str.substring(5); System.out.println(substr);
該代碼將返回”substring demo”,因為該字元串從原字元串的第5個位置開始,一直到字元串的末尾。
2. 截取指定長度的子字元串
如果傳入兩個參數,並且第二個參數小於字元串的長度,則會返回從第一個參數指定的位置開始,長度為第二個參數的子字元串。例如:
String str = "Java substring demo"; String substr = str.substring(0, 4); System.out.println(substr);
該代碼將返回”Java”,因為該字元串從原字元串的第0個位置開始,一直到第4個位置。
3. 獲取字元數組的子數組
如果對一個字元數組使用了substring()方法,則會返回一個新的字元數組,該數組是指定數組的一個子數組。例如:
char[] arr = "Java substring demo".toCharArray(); char[] subarr = Arrays.copyOfRange(arr, 5, 13); System.out.println(new String(subarr));
該代碼將返回”substring”,因為該子數組從原數組的第5個位置開始,一直到第13個位置。
注意事項
使用substring()方法時,需要注意一些事項:
- 傳入的位置參數必須小於字元串的長度,否則將會拋出IndexOutOfBoundsException異常。
- substring()方法返回的子字元串是一個新字元串,與原字元串沒有關係。如果對原字元串進行修改,不會對子字元串產生影響。
- 對於indexOf()方法返回的負數值(表示字元串中不包含指定子串),將會拋出StringIndexOutOfBoundsException異常,而不是返回null或空字元串。
- 在Java 8之前的版本中,substring()方法的實現比較低效,並且會在內部創建一個新的數組來存儲子字元串。在Java 8之後,實現已經被改進,substring()方法現在使用共享的char[]數組來存儲子字元串,因此更有效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300899.html