欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java截取字符串的幾種方法示例

 更新時間:2023年04月12日 12:05:10   作者:程序員大騰  
眾所周知java提供了很多字符串截取的方式,下面這篇文章主要給大家總結介紹了關于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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • SpringBoot超詳細講解多數據源集成

    SpringBoot超詳細講解多數據源集成

    今天分享下SpringBoot多數據源集成,我怕麻煩,這里我覺得我的集成也應該是最簡單的,清晰明了
    2022-05-05
  • springboot mybatis-plus實現登錄接口

    springboot mybatis-plus實現登錄接口

    本文主要介紹了springboot mybatis-plus實現登錄接口,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-11-11
  • Java使用自定義注解+反射實現字典轉換代碼實例

    Java使用自定義注解+反射實現字典轉換代碼實例

    這篇文章主要介紹了Java使用自定義注解+反射實現字典轉換代碼實例,注解是一種能被添加到java代碼中的元數據,類、方法、變量、參數和包都可以用注解來修飾,注解對于它所修飾的代碼并沒有直接的影響,需要的朋友可以參考下
    2023-09-09
  • MyBatisPlus?大數據量查詢慢的問題解決

    MyBatisPlus?大數據量查詢慢的問題解決

    本文主要介紹了MyBatis?Plus?解決大數據量查詢慢問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • java代理模式與動態(tài)代理模式詳解

    java代理模式與動態(tài)代理模式詳解

    代理就是一個人或者一個機構代表另一個人或者另一個機構采取行動。在一些情況下,一個客戶不想或者不能夠直接引用一個對象,而代理對象可以在客戶端和目標對象之前起到中介的作用
    2014-02-02
  • Spring配置shiro時自定義Realm中屬性無法使用注解注入的解決辦法

    Spring配置shiro時自定義Realm中屬性無法使用注解注入的解決辦法

    今天小編就為大家分享一篇關于Spring配置shiro時自定義Realm中屬性無法使用注解注入的解決辦法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Java?實現使用Comparable按照我們指定的規(guī)則排序

    Java?實現使用Comparable按照我們指定的規(guī)則排序

    這篇文章主要介紹了Java?如何使用Comparable按照我們指定的規(guī)則排序,通過練習創(chuàng)建TreeSet集合使用無參構造方法,并按照年齡從小到大的順序排序,若年齡相同再按照姓名的字母順序排序展開內容,需要的朋友可以參考一下
    2022-04-04
  • Java Springboot 重要知識點整理匯總

    Java Springboot 重要知識點整理匯總

    Spring Boot作為微服務中最好的Java框架,本文主要為大家整理匯總了七個Spring Boot的重要知識點,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-11-11
  • Java常用的八種排序算法及代碼實現+圖解

    Java常用的八種排序算法及代碼實現+圖解

    這篇文章主要介紹了Java常用的八種排序算法及代碼實現,在Java的時候,對于排序的應用需要熟練的掌握,這樣才能夠確保Java學習時候能夠有扎實的基礎能力。那Java有哪些排序算法呢?本文小編就來詳細說說Java經典的8種排序算法,需要的朋友可以參考一下
    2021-12-12
  • SpringCloud?Function?SpEL注入漏洞分析及環(huán)境搭建

    SpringCloud?Function?SpEL注入漏洞分析及環(huán)境搭建

    SpringCloud 是一套分布式系統(tǒng)的解決方案,常見的還有阿里巴巴的Dubbo,Fass的底層實現就是函數式編程,SpringCloud Function 就是Spring提供的分布式函數式編程組件,下面給大家介紹下SpringCloud?Function?SpEL注入漏洞分析,感興趣的朋友一起看看吧
    2022-04-04

最新評論