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() 方法是按字符截取,而不是按字节截取。

工具类没什么神奇的,都是编写好的方法直接拿来用的,省事,也可以自行尝试编写工具类。

到此这篇关于Java截取字符串的几种方法的文章就介绍到这了,更多相关Java截取字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java中单例模式讲解

    java中单例模式讲解

    这篇文章主要介绍了java中单例模式,本文通过简单的案例,讲解了该模式在java中的使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 使用jekins自动构建部署java maven项目的方法步骤

    使用jekins自动构建部署java maven项目的方法步骤

    这篇文章主要介绍了使用jekins自动构建部署java maven项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • java反射简单实例

    java反射简单实例

    这篇文章主要介绍了java反射机制,以一个简单实例形式分析了Java反射的原理与实现技巧,需要的朋友可以参考下
    2015-02-02
  • idea运行程序报错java程序包org.junit不存在解决办法

    idea运行程序报错java程序包org.junit不存在解决办法

    这篇文章主要给大家介绍了关于idea运行程序报错java程序包org.junit不存在的解决办法, 当出现程序包org.junit不存在的问题时,可以通过使用适当的JUnit版本、添加依赖或重新下载程序包等方式进行解决,需要的朋友可以参考下
    2024-02-02
  • Java Integer.valueOf()和Integer.parseInt()的区别说明

    Java Integer.valueOf()和Integer.parseInt()的区别说明

    这篇文章主要介绍了Java Integer.valueOf()和Integer.parseInt()的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Java自动拆箱空指针异常的解决

    Java自动拆箱空指针异常的解决

    这篇文章主要介绍了Java自动拆箱空指针异常的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • MyBatis中XML 映射文件中常见的标签说明

    MyBatis中XML 映射文件中常见的标签说明

    这篇文章主要介绍了MyBatis中XML 映射文件中常见的标签说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java编程思想对象的容纳实例详解

    Java编程思想对象的容纳实例详解

    这篇文章主要介绍了Java编程思想对象的容纳实例详解,内容比较详细,涵盖的东西也比较多,具有参考价值,需要的朋友了解下。
    2017-09-09
  • 利用Redis实现延时处理的方法实例

    利用Redis实现延时处理的方法实例

    这篇文章主要给大家介绍了关于利用Redis实现延时处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Redis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • IntelliJ IDEA 2020.2正式发布,两点多多总能助你提效

    IntelliJ IDEA 2020.2正式发布,两点多多总能助你提效

    这篇文章主要介绍了IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效,本文通过图文实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下
    2020-07-07

最新评论