课时55:字符串截取

简介: 今天我分享的是字符串截取,即从完整字符串提取子字符串,主要有  Substring  以及  BeginIndex  和  EndIndex  相关方法。主要内容分为以下三个内容。1. 字符串截取方法介绍2. 代码示例展示截取操作3. 实际开发中的索引计算与应用

课时55:字符串截取

 

摘要:今天我分享的是字符串截取,即从完整字符串提取子字符串,

主要有  Substring   BeginIndex  和  EndIndex  相关方法。主要内容分为以下三个内容。

1. 字符串截取方法介绍

2. 代码示例展示截取操作

3. 实际开发中的索引计算与应用

 

01. 字符串截取方法介绍

 

在编程中,我们有一个重要的操作——字符串截取。所谓字符串截取,是指从一个完整的字符串中提取出一个子字符串。针对字符串的截取操作,主要有两个关键方法,接下来我们结合代码进行详细讲解。

第一个方法是  Substring 。 Substring  的作用是从指定索引开始截取到字符串的结束位置。此外,还有  BeginIndex  和  EndIndex  相关的用法,其作用是截取指定索引范围内的子字符串。

 

02. 代码示例展示截取操作

 

image.png

image.png

下面我们通过具体代码来观察字符串截取操作。假设我们有一个程序,定义一个字符串变量  m2 ,然后使用  System.out.print  输出截取后的结果。例如,我们使用  Substring  方法,从字符串的第4个位置截取到结尾,观察其输出结果。


编译并执行代码后,查看运行结果是否符合预期。如果我们想截取从第4个位置到第8个位置的子字符串,再次编译并执行代码,检查输出是否正确。通过这样的操作,我们就实现了字符串的截取过程。

 

03. 实际开发中的索引计算与应用

 

在实际开发中,开始或结束索引往往不是固定的,而是通过 IndexOf  方法计算得出。 IndexOf  方法的主要功能是计算某个字符或子字符串在字符串中的位置。

例如,假设我们有一个字符串,其结构为 “用户ID- photo- 姓名.jpg” ,现在我们的需求是从这个字符串中截取出 “姓名” 这部分内容。

代码如下:

public class StringDemo {
public static void main(String args[]) {
// 字符串结构:“用户id-photo-姓名.后缀” String str = "mldn-photo-张三.jpg" ;
int beginIndex = str.index0f("-",str.index0f("photo")) +1; 
int endIndex = str.lastIndexOf(".") ;
System.out.println(str.substring(beginIndex,endIndex))}
}
}

结果:

D:\mldnjava>javac StringDemo.java
D:\mldnjava>java StringDemo m1dn.cn mldn
D:\mldnjava>javac StringDemo.java
D:\mldnjava>java StringDemo -张三
D:\mldnjava>javac StringDemo.java
D:\m1dnjava>java StringDemo张三
D:\mldnjava>

image.png

要实现这个需求,关键在于确定两个索引值: BeginIndex  和  EndIndex 。


首先,确定  BeginIndex 。由于 “photo” 在字符串中的位置是固定的,我们可以将 “photo” 作为开始点的参考。通过  IndexOf  方法找到 “photo” 后面的 “-” 的位置,将这个位置作为  BeginIndex  的起始位置(通常需要在此基础上加1,以跳过 “-” 字符)。


接着,确定  EndIndex 。我们可以使用  IndexOf  方法找到 “.” 的位置,将其作为  EndIndex 。

确定好这两个索引值后,使用  Substring  方法,传入  BeginIndex  和  EndIndex ,编译并执行代码,就可以得到我们想要截取的 “姓名” 这部分子字符串。


在实际开发中,像这种通过计算来确定截取索引的情况非常普遍。由于字符串的内容可能是不确定的,我们很难通过固定的数字来确定开始位置,因此,根据字符串中固定的子字符串(如这里的 “photo”)来计算索引范围,是一种常见且有效的方法。


大家需要熟悉并掌握这种方法,在实际项目中灵活运用。在最后,感谢大家的观看!

 

相关文章
|
存储 Windows
怎样格式化硬盘?四种硬盘格式化方法(含详细图文步骤)
这篇内容介绍了硬盘格式化的方法,包括为何要格式化硬盘(如快速清空数据、建立新分区、修复错误、改变文件系统类型)和四种格式化方式:1) 使用文件管理器,2) 通过磁盘管理器,3) 利用分区工具DiskGenius,4) 使用diskpart命令。在执行格式化前,务必备份重要数据,因为格式化会导致数据丢失。
|
7月前
|
Java
课时26:foreach输出
课时26介绍了foreach循环的使用。传统For循环通过下标访问数组元素,容易导致数组越界问题。自JDK 1.5起引入foreach(增强型For循环),其语法为`for(数据类型 变量 : 数组|集合)`,能自动遍历数组或集合中的每个元素,避免了下标操作,简化代码并提高安全性。示例展示了如何使用foreach输出数组内容。
课时26:foreach输出
|
C# iOS开发 MacOS
MacOS操作系统当中运行VSCode并配置运行调试C#项目
在开发的过程当中,经常会遇到各种开发环境,在MacOS上如何运行VSCode,配置并且调试C#项目,本文进行讲解
2739 0
MacOS操作系统当中运行VSCode并配置运行调试C#项目
|
SQL Java 数据库
【MybatisPlus】MP的分页查询、多条件查询以及查询过程中解决null的空值判定
分页查询、多条件查询以及查询过程中解决null的空值判定
1827 0
【MybatisPlus】MP的分页查询、多条件查询以及查询过程中解决null的空值判定
|
7月前
|
存储 Java 编译器
课时60:子类对象实例化流程
摘要: 1.子类对象实例化要求 2.范例1:默认情况下的子类实例化 3.范例2:修改子类,显式使用 super() 4.范例3:父类仅提供有参构造方法,不使用无参构造 5.范例4:其他父类构造
130 6
|
7月前
|
Java 数据安全/隐私保护 开发者
课时57:其它操作方法
Public String Concat(String str) public String intern() public String isEmpty() public int length() public String trim() public String toUpperCase() public String toLowerCase()
|
JavaScript Java 测试技术
基于小程序的考研论坛设计+springboot+vue.js附带文章和源代码设计说明文档ppt
基于小程序的考研论坛设计+springboot+vue.js附带文章和源代码设计说明文档ppt
140 1
|
11月前
|
SQL 关系型数据库 数据库
PostgreSQL性能飙升的秘密:这几个调优技巧让你的数据库查询速度翻倍!
【10月更文挑战第25天】本文介绍了几种有效提升 PostgreSQL 数据库查询效率的方法,包括索引优化、查询优化、配置优化和硬件优化。通过合理设计索引、编写高效 SQL 查询、调整配置参数和选择合适硬件,可以显著提高数据库性能。
1888 2
|
11月前
|
前端开发 JavaScript 定位技术
React 地图组件 Mapbox 入门指南
Mapbox 是一个强大的地图平台,提供丰富的地图数据和工具,支持多种开发语言和框架。本文介绍如何在 React 项目中使用 Mapbox,涵盖基础概念、安装配置、基本用法、常见问题及解决方法、高级用法等内容,并通过代码示例详细说明,帮助开发者提升地图应用的开发效率和用户体验。
581 2
ly~
|
供应链 搜索推荐 安全
大数据模型的应用
大数据模型在多个领域均有广泛应用。在金融领域,它可用于风险评估与预测、智能营销及反欺诈检测,助力金融机构做出更加精准的决策;在医疗领域,大数据模型能够协助疾病诊断与预测、优化医疗资源管理和加速药物研发;在交通领域,该技术有助于交通流量预测、智能交通管理和物流管理,从而提升整体交通效率;电商领域则借助大数据模型实现商品推荐、库存管理和价格优化,增强用户体验与企业效益;此外,在能源和制造业中,大数据模型的应用范围涵盖从需求预测到设备故障预测等多个方面,全面推动了行业的智能化转型与升级。
ly~
934 2