在處理字元串的時候,很常見的需求就是需要截取字元串的某一部分。Java 中提供了很多方法來完成字元串的截取操作,本文將詳細介紹 Java 實現字元串截取的方式和實例代碼。
一、substring()方法
Java 中 String 類的 substring() 方法可以方便地獲取原字元串中的某一段子串。
/** * 截取字元串的一部分 * @param str 原字元串 * @param start 子串的起始位置 * @param end 子串的結束位置 * @return 截取後的子串 */ public static String subString(String str, int start, int end) { return str.substring(start, end); }
在上述代碼中,我們通過 java.lang.String 類的 substring(start, end) 方法截取原字元串的一段子串。
在使用該方法時需要注意以下幾點:
- 子串的起始位置從 0 開始計數;
- 子串的結束位置不包含在截取的結果中,也就是說,截取的結果是從起始位置開始,到結束位置 前一位 的所有字元組成的字元串;
- 如果省略了 end 參數,則表示截取從起始位置開始的所有字元;
- 如果 start 參數大於 end 參數,則該方法會拋出字元串下標越界異常。
二、split()方法
Java 中 String 類的 split() 方法可以將指定字元串按照某個分隔符切分成多個字元串。
/** * 根據分隔符切分字元串 * @param str 原字元串 * @param separator 分隔符 * @return 切分後的字元串數組 */ public static String[] split(String str, String separator) { return str.split(separator); }
在上述代碼中,我們通過 java.lang.String 類的 split(separator) 方法將指定的字元串按照指定的分隔符切分成一個字元串數組。
在使用該方法時需要注意以下幾點:
- 分隔符可以是多個字元組成的字元串;
- 如果分隔符在字元串開頭或結尾,則會將空字元串(“”)加入到切分結果數組中;
- 如果要對字元串切分成單個字元,請使用 split(“”) 方法。
三、StringUtils.substringBefore()和StringUtils.substringAfter()方法
Apache Commons Lang 庫中的 StringUtils 類提供了兩個很有用的方法 substringBefore() 和 substringAfter(),可以方便地根據指定的分隔符截取字元串的兩個部分。
/** * 截取在分隔符之前的字元串 * @param str 原字元串 * @param separator 分隔符 * @return 分隔符之前的字元串 */ public static String subStringBefore(String str, String separator) { return StringUtils.substringBefore(str, separator); } /** * 截取在分隔符之後的字元串 * @param str 原字元串 * @param separator 分隔符 * @return 分隔符之後的字元串 */ public static String subStringAfter(String str, String separator) { return StringUtils.substringAfter(str, separator); }
在上述代碼中,我們通過 org.apache.commons.lang3.StringUtils 類的 substringBefore() 和 substringAfter() 方法分別獲取原字元串中指定分隔符前後的部分。
在使用該方法時需要注意以下幾點:
- 如果分隔符不存在於原字元串中,則 substringBefore() 方法會返回整個原字元串,substringAfter() 方法會返回空字元串(“”);
- 如果分隔符在字元串開頭或結尾,則會將空字元串(“”)加入到截取結果中。
四、參考資料
1. Java SE 11 String 類文檔;
2. Apache Commons Lang 官方文檔。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237345.html