热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java教程:Java截取(提取)子字符串(substring())

本篇文章由泉州SEOwww.234yp.com整理发布,Java教程www.234yp.comArticle198084.html谢谢合作!Java教程在String中提供了两个截

本篇文章由 泉州SEO www.234yp.com 整理发布,Java教程 www.234yp.com/Article/198084.html 谢谢合作!
Java教程在 String 中提供了两个截取字符串的方法,一个是从指定位置截取到字符串结尾,另一个是截取指定范围的内容。下面对这两种方法分别进行介绍。


1. substring(int beginIndex) 形式

此方式用于提取从索引位置开始至结尾处的字符串部分。调用时,括号中是需要提取字符串的开始位置,方法的返回值是提取的字符串。例如:

String str = "我爱 Java 编程";
String result = str.substring(3);
System.out.println(result); // 输出:Java 编程

2. substring(int beginIndex,int endIndex) 形式

此方法中的 beginIndex 表示截取的起始索引,截取的字符串中包括起始索引对应的字符;endIndex 表示结束索引,截取的字符串中不包括结束索引对应的字符,如果不指定 endIndex,则表示截取到目标字符串末尾。该方法用于提取位置 beginIndex 和位置 endIndex 位置之间的字符串部分。
这里需要特别注意的是, 对于开始位置 beginIndex, Java 是基于字符串的首字符索引为 0 处理的,但是对于结束位置 endIndex,Java 是基于字符串的首字符索引为 1 来处理的,如图 1 所示。

图1 字符串中的字符索引
注意:substring() 方法是按字符截取,而不是按字节截取。

例 1

创建一个字符串,对它使用 substring() 方法进行截取并输出结果。示例代码如下:

public static void main(String[] args) {
String day = "Today is Monday"; //原始字符串
System.out.println("substring(0)结果:"+day.substring(0));
System.out.println("substring(2)结果:"+day.substring(2));
System.out.println("substring(10)结果:"+day.substring(10));
System.out.println("substring(2,10)结果:"+day.substring(2,10));
System.out.println("substring(0,5)结果:"+day.substring(0,5));
}

输出结果如下所示:

substring(0)结果:Today is Monday
substring(2)结果:day is Monday
substring(10)结果:onday
substring(2,10)结果:day is M
substring(0,5)结果:Today

推荐阅读
  • 玩转系统|初遇ChatGPT,我和TA的第一次约会
    最近互联网圈子有一个非常火爆的话题ChatGPT,短短一周的时间就有上百万的用户,如果你不是程序员,也许会问这到底是个什么玩意࿱ ... [详细]
  • 接口有什么作用
    接口的作用:1、接口可以使项目分离,所有层都面向接口开发,提高开发效率;2、接口使代码和代码之间的耦合度降低;3、接口可以多实现,多继承,并且一个类除了接口之外 ... [详细]
  • HotSwapper热加载publicclassHotSwapperTest{publicstaticvoidmain(String[]args)throwsNotFoundEx ... [详细]
  • 对象与对象之间的成员变量是相互独立的.要想共用数据,则需要使用静态成员或静态方法#只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变 ... [详细]
  • 一段程序结束等待进行下一段程序_给你的Java程序拍个片子吧:jstack命令解析
    前言如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jstack拍个片子分析分析,才能诊断具体什么病症ÿ ... [详细]
  • java实现zookeeper的增删改查
    实现增删改查,根据zk源码1.zk的连接publicclassMyzkTest{zk的链接地址publicstaticfinalStringzkconnect8 ... [详细]
  • java中的Map每次只能put一次,写段增强的put,可以一次put很多次
    为什么80%的码农都做不了架构师?1.精简版packagegeneric;importjava.util.HashMap;importjava.util.Ma ... [详细]
  • TreeSet是依靠TreeMap来实现的。TreeSet是一个有序集合,TreeSet中的元素将按照升序排列,缺省是按照自然排序进行排列, ... [详细]
  • Lists.transform⽅法使⽤的坑!
    往期热门文章:1、多线程使用不当导致的OOM2、老板要我开发一个简单的工作流引擎3、SpringBoot启动时自动执行代码的几种方式,还有谁不会&# ... [详细]
  • netty中的UDP
     UDP提供了向多个接收者发送消息的额外传输模式:多播——传输到一个预定义的主机组;广播——传输到网络(或者子网)上的所有主机。本示例应用程序将通过发送能够被同一个网络中的所有主机 ... [详细]
  • 没有得到任何错误,所有数据似乎都有效.出于某种原因,正在调用与视图相关的方法.我确定了以下内容:getItemCount()是唯一被调用的适配器方法,并返回一个正整数值,(我知道 ... [详细]
  • 在安卓中创建自定义SeekBar原文:https://www ... [详细]
  •    DHTML小脚本容器对象参考手册,包含DHTML小脚本(Scriptlet)基准文档。在这里可以了解如下内容:1、窗口对象扩展:这些扩展内容是在编写小脚本时可以使用的属性与方 ... [详细]
  • 二、集成开发环境的重要特性本章描述了Eclipse中的几个重要特性和一个对开发安卓应用有用的 ... [详细]
  • 对于一些不符合的点来说,肯定是被他的父节点上权值最小的点转换最好。首先我们先排除不可能情况也就是01不等之后发现,交换完两个数后,0不符合的和1不符合的个数各自-1,因此不会影响其 ... [详细]
author-avatar
campionezhao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有