Java截取字符串的幾種方法示例
0 寫在前面
在實際工作中有一些地方需要用到截取字符串的方法,所以在此記錄下截取字符串的幾種方法。
- .substring()
- StringUtils.substring()
- split()+正則表達式
1 .substring()
這個是比較常用的一個方法。
此方法有兩種形式:
substring(int beginIndex); //提取從索引位置開始至結尾處的字符串部分 substring(int beginIndex,int endIndex); //提取beginIndex開始到endIndex的字符串部分
實例代碼:
String str = "你好,Java練習生"; //substring(int beginIndex); String substring1 = str.substring(3); //substring(int beginIndex,int endIndex); String substring2 = str.substring(3, 7); System.out.println(substring1);//Java練習生 System.out.println(substring2);//Java
需要注意的是:計數從0開始,如果超過了字符串長度則會報錯:
java.lang.StringIndexOutOfBoundsException: String index out of range:
計算位置示意圖
2 split()+正則表達式
不常用,不過在某些特定場合特別好用。
格式:字符串.split("指定分隔符");
–返回的是一個數組
舉例(以英文逗號為分隔符):
String str = "good,good,study,day,day,up"; String[] split = str.split(","); for (String s: split) { System.out.println(s); }
3 StringUtils.substring()
需要在導入StringUtils的工具類。結合了很多方法。
因為每個人用的工具類不同所以只記錄一種。
maven導入:
<dependency> <groupId>com.lispcast</groupId> <artifactId>org.apache.commons.lang</artifactId> <version>2.5.0</version> </dependency>
- String substring(String str,int start):避免異常地從指定的String獲取一個子字符串。
- String substring(String str,int start, int end):可避免異常地從指定的String獲取一個子字符串。
- String substringAfter(String str,String separator):在第一次出現分隔符后獲取子字符串。
- String substringAfterLast(String str,String separator):在最后一次出現分隔符之后獲取子字符串。
- String substringBefore(String str,String separator):在第一次出現分隔符之前獲取子字符串。
- String substringBeforeLast(String str,String separator):在最后一次出現分隔符之前獲取子字符串。
- String substringBetween(String str,String tag):獲取嵌套在同一String的兩個實例之間的String。
- String substringBetween(String str, String open, String close):獲取嵌套在兩個字符串之間的字符串。
測試:
String str = "大家好,我是練習兩年半的個人練習生,cxk"; //- String substring(String str,int start):避免異常地從指定的String獲取一個子字符串。 String substring1 = StringUtils.substring(str, 4); //- String substring(String str,int start, int end):可避免異常地從指定的String獲取一個子字符串。 String substring2 = StringUtils.substring(str, 4, 7); //- String substringAfter(String str,String separator):在第一次出現分隔符后獲取子字符串。 String substringAfter = StringUtils.substringAfter(str, ","); //- String substringAfterLast(String str,String separator):在最后一次出現分隔符之后獲取子字符串。 String substringAfterLast = StringUtils.substringAfterLast(str, ","); //- String substringBefore(String str,String separator):在第一次出現分隔符之前獲取子字符串。 String substringBefore = StringUtils.substringBefore(str, ","); //- String substringBeforeLast(String str,String separator):在最后一次出現分隔符之前獲取子字符串。 String substringBeforeLast = StringUtils.substringBeforeLast(str, ","); //- String substringBetween(String str,String tag):獲取嵌套在同一String的兩個實例之間的String。 String substringBetween1 = StringUtils.substringBetween(str, ","); // - String substringBetween(String str, String open, String close):獲取嵌套在兩個字符串之間的字符串。 String substringBetween2 = StringUtils.substringBetween(str, "好", "的"); System.out.println(substring1); System.out.println(substring2); System.out.println(substringAfter); System.out.println(substringAfterLast); System.out.println(substringBefore); System.out.println(substringBeforeLast); System.out.println(substringBetween1); System.out.println(substringBetween2);
4 寫在最后
注意:substring() 方法是按字符截取,而不是按字節(jié)截取。
工具類沒什么神奇的,都是編寫好的方法直接拿來用的,省事,也可以自行嘗試編寫工具類。
到此這篇關于Java截取字符串的幾種方法的文章就介紹到這了,更多相關Java截取字符串內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring配置shiro時自定義Realm中屬性無法使用注解注入的解決辦法
今天小編就為大家分享一篇關于Spring配置shiro時自定義Realm中屬性無法使用注解注入的解決辦法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03Java?實現使用Comparable按照我們指定的規(guī)則排序
這篇文章主要介紹了Java?如何使用Comparable按照我們指定的規(guī)則排序,通過練習創(chuàng)建TreeSet集合使用無參構造方法,并按照年齡從小到大的順序排序,若年齡相同再按照姓名的字母順序排序展開內容,需要的朋友可以參考一下2022-04-04SpringCloud?Function?SpEL注入漏洞分析及環(huán)境搭建
SpringCloud 是一套分布式系統(tǒng)的解決方案,常見的還有阿里巴巴的Dubbo,Fass的底層實現就是函數式編程,SpringCloud Function 就是Spring提供的分布式函數式編程組件,下面給大家介紹下SpringCloud?Function?SpEL注入漏洞分析,感興趣的朋友一起看看吧2022-04-04