Java中的substring()方法使用举例详解

 更新时间:2024年12月23日 09:05:18   作者:音乐学家方大刚  
这篇文章主要介绍了Java中的substring()方法使用的相关资料,文中包括其概述、参数、返回值、使用示例、注意事项、常见用法和总结,通过代码介绍的非常详细,需要的朋友可以参考下

前言

在 Java 编程中,字符串(String)操作是非常常见的任务之一。为了方便开发者操作字符串,Java 提供了许多内置方法,其中 substring() 是一个非常强大且常用的方法。substring() 方法用于提取字符串中的一个子字符串,可以根据需要获取字符串的任意部分。

1. substring() 方法的概述

substring() 方法属于 String 类,用于从字符串中提取一个子字符串。它有两个常用的重载版本:

String substring(int beginIndex)
String substring(int beginIndex, int endIndex)

2. substring() 方法的参数与返回值

beginIndex: 这是起始索引(包括在内),表示从该索引开始的字符将包含在返回的子字符串中。索引从 0 开始。

endIndex: (可选)这是结束索引(不包括在内),表示在该索引之前的字符将包含在返回的子字符串中。

返回值: 返回一个新的字符串,它包含从 beginIndex 开始到 endIndex 之前的所有字符。如果只指定 beginIndex,则返回从该位置开始到字符串末尾的所有字符。

3. substring() 方法的使用示例

示例 1:使用 substring(int beginIndex)

这种形式的 substring() 方法从指定的起始索引提取直到字符串末尾的所有字符。

public class SubstringExample {
    public static void main(String[] args) {
        String str = "Hello, Java!";
        
        // 提取从索引 7 开始的子字符串
        String result = str.substring(7);
        
        System.out.println("结果: " + result);  // 输出: "Java!"
    }
}

示例 2:使用 substring(int beginIndex, int endIndex)

这种形式的 substring() 方法提取从 beginIndex 到 endIndex 之间的字符,endIndex 处的字符不包含在结果中。

public class SubstringExample {
    public static void main(String[] args) {
        String str = "Hello, Java!";
        
        // 提取从索引 7 到 11 之间的子字符串
        String result = str.substring(7, 11);
        
        System.out.println("结果: " + result);  // 输出: "Java"
    }
}

4. 注意事项

使用 substring() 方法时,有几个重要的注意事项:

索引范围: beginIndex 必须在 0 到 length() 之间,而 endIndex 必须在 beginIndex 到 length() 之间。否则会抛出 StringIndexOutOfBoundsException 异常。

String str = "Hello, Java!";
String result = str.substring(15);  // 这会抛出异常,因为索引超出范围

空字符串: 如果 beginIndex 等于字符串的长度,substring() 返回一个空字符串。如果 beginIndex 和 endIndex 相等,也会返回一个空字符串。

String str = "Hello, Java!";
String result = str.substring(12, 12);  // 返回空字符串

性能问题: 早期版本的 Java 中,substring() 会导致原始字符串的内存无法释放,因为子字符串仍然引用原始字符串的字符数组。但从 Java 7 Update 6 开始,这个问题已经被解决了。

5. 常见的用法

提取文件扩展名:

String fileName = "example.txt";
String extension = fileName.substring(fileName.lastIndexOf(".") + 1);
System.out.println("文件扩展名是: " + extension);  // 输出: "txt"

提取URL中的域名:

String url = "https://www.example.com/index.html";
String domain = url.substring(url.indexOf("://") + 3, url.indexOf("/", url.indexOf("://") + 3));
System.out.println("域名是: " + domain);  // 输出: "www.example.com"

去除字符串两端的括号:

String text = "(Java)";
String result = text.substring(1, text.length() - 1);
System.out.println("去除括号后的文本: " + result);  // 输出: "Java"

6. 总结

substring() 是 Java 中非常有用的字符串处理方法,它使得提取字符串的任意部分变得非常简单。通过了解 substring() 方法的使用方式及其注意事项,你可以更加灵活地操作字符串,满足各种实际开发需求。

到此这篇关于Java中的substring()方法使用的文章就介绍到这了,更多相关Java substring()方法详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mybatis-Plus 搭建与使用入门(小结)

    Mybatis-Plus 搭建与使用入门(小结)

    Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,这篇文章主要介绍了Mybatis-Plus 搭建与使用入门(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Java之maven打完jar包之后将jar包放到指定位置汇总

    Java之maven打完jar包之后将jar包放到指定位置汇总

    这篇文章主要介绍了Java之maven打完jar包之后将jar包放到指定位置汇总,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • SpringBoot 替换 if 的参数校验示例代码

    SpringBoot 替换 if 的参数校验示例代码

    Spring Validation是对hibernate validation的二次封装,用于支持spring mvc参数自动校验,接下来,我们以spring-boot项目为例,介绍Spring Validation的使用,需要的朋友可以参考下
    2022-12-12
  • java利用反射实现动态代理示例

    java利用反射实现动态代理示例

    这篇文章主要介绍了java利用反射实现动态代理示例,需要的朋友可以参考下
    2014-04-04
  • Java中浮点数精度问题的解决方法

    Java中浮点数精度问题的解决方法

    这篇文章给大家介绍了Java中浮点数精度问题的解决方法,本文给大家介绍的非常详细,有问题描述有原因分析,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-10-10
  • 关于SpringBoot中的XA事务详解

    关于SpringBoot中的XA事务详解

    这篇文章主要介绍了关于SpringBoot中的XA事务详解,事务管理可以确保数据的一致性和完整性,同时也可以避免数据丢失和冲突等问题。在分布式环境中,XA 事务是一种常用的事务管理方式,需要的朋友可以参考下
    2023-07-07
  • 详解Java中如何正确书写单例模式

    详解Java中如何正确书写单例模式

    一般单例都是五种写法:懒汉,饿汉,双重校验锁,静态内部类和枚举。本文整理了几种常见的单例写法,下面跟着小编一起来看下吧
    2017-01-01
  • Java实例讲解反射机制是怎么一回事

    Java实例讲解反射机制是怎么一回事

    Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法
    2022-03-03
  • 文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法

    文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法

    这篇文章主要介绍了文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法的相关资料,需要的朋友可以参考下
    2016-04-04
  • 教你用Springboot实现拦截器获取header内容

    教你用Springboot实现拦截器获取header内容

    项目中遇到一个需求,对接上游系统是涉及到需要增加请求头,请求头的信息是动态获取的,需要动态从下游拿到之后转给上游,文中非常详细的介绍了该需求的实现,需要的朋友可以参考下
    2021-05-05

最新评论