在Java編程中,字符串是一種常見的數據類型。在對字符串進行操作的時候,經常需要對字符串進行截取操作。本文將從多個方面詳細闡述Java字符串截取方法。
一、 substring方法
substring方法是Java中最基礎、最常用的字符串截取方法。其語法如下:
String substring(int beginIndex) String substring(int beginIndex, int endIndex)
其中,第一個參數表示起始位置(包含),第二個參數表示結束位置(不包含),如果第二個參數省略,則表示截取到字符串末尾。
1、從頭部截取字符串
從頭部截取字符串有兩種方式:
String str = "Hello, world!"; String subStr1 = str.substring(0, 5); // 截取"Hello" String subStr2 = str.substring(7); // 截取"world!"
以上代碼中,subStr1表示截取字符串的起始位置為0,結束位置為5(不包含),即截取到了”Hello”;subStr2表示截取字符串的起始位置為7,結束位置省略,則截取到字符串末尾,即截取到了”world!”。
2、從尾部截取字符串
從尾部截取字符串需要先計算字符串長度,再根據長度進行截取。
String str = "Hello, world!"; int len = str.length(); String subStr = str.substring(len - 6); // 截取"world!"
以上代碼中,先用length方法獲取字符串長度len,再用len – 6計算出截取的起始位置,最後使用substring方法進行截取。
二、split方法
split方法可以將字符串按照指定的分隔符分割成多個子串。其語法如下:
String[] split(String regex)
其中,regex表示分隔符。返回值是一個字符串數組,包含分割後的所有子串。
1、按照空格分割字符串
String str = "Hello, world!"; String[] subStr = str.split(" ");
以上代碼中,指定空格作為分隔符,在字符串”Hello, world!”的空格處分割字符串,分割後的結果為一個包含兩個元素的字符串數組:{“Hello,”, “world!”}。
2、按照逗號分割字符串
String str = "apple,orange,banana"; String[] subStr = str.split(",");
以上代碼中,指定逗號作為分隔符,在字符串”apple,orange,banana”的逗號處分割字符串,分割後的結果為一個包含三個元素的字符串數組:{“apple”, “orange”, “banana”}。
三、replace方法
replace方法可以將字符串中的某個字符或字符串替換成另一個字符或字符串。其語法如下:
String replace(char oldChar, char newChar) String replace(CharSequence target, CharSequence replacement)
其中,第一個方法用於替換單個字符,第二個方法用於替換字符串,target表示要被替換的字符串,replacement表示替換後的字符串。
1、替換單個字符
String str = "Hello, world!"; String newStr = str.replace("o", "O");
以上代碼中,將字符串”Hello, world!”中的所有小寫字母”o”替換成大寫字母”O”,替換後的結果為:”HellO, wOrld!”。
2、替換字符串
String str = "apple,orange,banana"; String newStr = str.replace("orange", "peach");
以上代碼中,將字符串”apple,orange,banana”中的”orange”替換成”peach”,替換後的結果為:”apple,peach,banana”。
四、replaceAll方法
replaceAll方法與replace方法類似,但是支持使用正則表達式進行替換。其語法如下:
String replaceAll(String regex, String replacement)
其中,regex表示正則表達式,用於匹配要被替換的子串,replacement表示替換後的字符串。
1、使用正則表達式替換字符串
String str = "Hello, world!"; String newStr = str.replaceAll("\\s", "");
以上代碼中,使用正則表達式”\\s”匹配字符串中的空格,replace為空串,即刪除所有空格,替換後的結果為:”Hello,world!”。
2、使用正則表達式替換數字
String str = "There are 1234 apples in the basket."; String newStr = str.replaceAll("\\d+", "X");
以上代碼中,使用正則表達式”\\d+”匹配字符串中的數字,replace為”X”,即將所有數字替換成”X”,替換後的結果為:”There are X apples in the basket.”。
五、substringBefore和substringAfter方法
substringBefore和substringAfter方法可以從字符串中查找某個子串,並返回該子串前面和後面的部分。其語法如下:
String substringBefore(String str) String substringAfter(String str)
其中,str表示查找的子串。substringBefore返回查找子串之前的子串,substringAfter返回查找子串之後的子串。
1、獲取子串前面的部分
String str = "Hello, world!"; String newStr = StringUtils.substringBefore(str, ",");
以上代碼中,查找字符串中的逗號”,”,返回逗號前面的子串”Hello”。
2、獲取子串後面的部分
String str = "yesterday is history, tomorrow is a mystery"; String newStr = StringUtils.substringAfter(str, ",");
以上代碼中,查找字符串中的逗號”,”,返回逗號後面的子串” tomorrow is a mystery”。
六、總結
本文詳細介紹了Java字符串截取方法,包括substring、split、replace、replaceAll、substringBefore和substringAfter方法。通過本文的學習,讀者可以更好地掌握Java字符串的操作方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/198790.html