Java字符串查找

news/2024/12/2 22:54:20/

目录

1.查找字符

(1)以索引查找字符

 (2)以字符查找索引

2.查找字符串


在给定的字符串中查找需要的字符或字符串是常见的操作,以下是String类中常用的查找方法。

1.查找字符

查找字符分为两种情况:一种是根据索引查找该索引处的字符,另一种是根据给定的字符查找该字符的索引

(1)以索引查找字符

方法:

char charAt(int index)

该方法返回 index 位置上的字符,若 index 为负数或是越界,则抛出StringIndexOutOfBoundsException 异常

public class Test {public static void main(String[] args) {String str = "abcdefg";char ch = str.charAt(2);System.out.println(ch);//输出c}
}

 

 (2)以字符查找索引

由于字符在字符串中可能出现多次,因此查找的方式不同,返回的索引也不相同,可以从前向后查找、从后向前查找,或是从指定位置开始查找

方法:

int indexOf(int ch)

从0索引开始找ch,返回ch第一次出现的位置,没有则返回 -1

public class Test {public static void main(String[] args) {String str = "abcdefgaaa";int index1 = str.indexOf('a');int index2 = str.indexOf('m');System.out.println(index1);//输出0System.out.println(index2);//字符串中无字符m,找不到,返回-1.因此输出-1}
}

方法:

int lastIndexOf(int ch)

public class Test {public static void main(String[] args) {String str = "abcdefgaaa";int index = str.lastIndexOf('a');System.out.println(index);//输出9}
}

方法:

int indexOf(int ch, int formIndex)

fromIndex 位置开始找ch第一次出现的位置,没有则返回 -1

public class Test {public static void main(String[] args) {String str = "abcdefgaaa";int index = str.indexOf('a',3);//从3索引位置开始找aSystem.out.println(index);//输出7}
}

方法:

 int lastIndexOf(int ch, int fromIndex)

fromIndex 位置开始,向前找ch第一次出现的位置,没有则返回 -1

public class Test {public static void main(String[] args) {String str = "abcdefgaaa";int index = str.lastIndexOf('a',8);//从8索引位置开始向前查找aSystem.out.println(index);//输出8}
}

2.查找字符串

由于字符串在指定的字符串中也可能出现多次,因此也可以从前向后查找、从后向前查找,或是从指定位置开始查找。

方法:

int indexOf(String str)

从0索引位置开始查找字符串str,返回 str 第一次出现的位置,没有则返回 -1 

public class Test {public static void main(String[] args) {String str = "aaabbbcccdedfg";String s = "abc";int index = str.indexOf(s);//字符串str中不包含abc,返回-1System.out.println(index);//输出-1}
}

方法:

int indexOf(String str, int fromIndex)

从fromIndex位置开始查找 str,返回 str  第一次出现的位置,没有则返回 -1

public class Test {public static void main(String[] args) {String str = "aaabbbcccdedfg";String s = "bbc";int index = str.indexOf(s,3);System.out.println(index);//输出4}
}

方法:

int lastIndexOf(String str)

从后向前找,返回 str 第一次出现的位置,没有则返回-1

public class Test {public static void main(String[] args) {String str = "abcabcabc";String s = "abc";int index = str.lastIndexOf(s);System.out.println(index);//输出6}
}

 方法:

int lastIndexOf(String str, int fromIndex)

从 fromIndex 位置开始向前查找 str,返回 str 第一次出现的位置,没有则返回 -1

public class Test {public static void main(String[] args) {String str = "abcabcabc";String s = "abc";int index = str.lastIndexOf(s,5);//从5索引位置开始向前查找sSystem.out.println(index);//输出3}
}


http://www.ppmy.cn/news/1091740.html

相关文章

【校招VIP】前端算法考点之快慢指针题型

考点介绍: 链表是校招面试里手撕代码出现频度比较高的题型,三线和中小厂会考察简单的链表反转,大厂会进一步考察复杂度和双指针问题,比如中间元素、是否存在环等。 『前端算法考点之快慢指针题型』相关题目及解析内容可点击文章末…

利用微调的deberta-v3-large来预测情感分类

前言: 昨天我们讲述了怎么利用emotion数据集进行deberta-v3-large大模型的微调,那今天我们就来输入一些数据来测试一下,看看模型的准确率,为了方便起见,我直接用测试集的前十条数据 代码: from transfor…

用半天时间从零开始复习前端之html

目录 前言 科班生的标配:半天听完一门标记型语言 准备工作 webstorm2022 webstrom 第一个html页面 body h系列标签 行标签和块标签 列表标签 表格标签(另起一篇) 万能的input 1.快速生成多个标签 2.同时选中多个 前言 科班生的标…

AI:06-基于OpenCV的二维码识别技术的研究

二维码作为一种广泛应用于信息传递和识别的技术,具有识别速度快、容错率高等优点。本文探讨如何利用OpenCV库实现二维码的快速、准确识别,通过多处代码实例展示技术深度。 二维码作为一种矩阵型的条码,广泛应用于各个领域,如商品追溯、移动支付、活动签到等。二维码的快速…

LeetCode 133. Clone Graph【图,DFS,BFS,哈希表】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

idea报错

idea报错Error running BufferedIOLine. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun. 参考 idea Error running Application. Command line is too long. Shorten the command line via JAR manifest_追求卓越…

运算符与逻辑分支

2.运算符与逻辑分支 持续更新中… 运算符 1.进制转换 .toString() 10进制转换为其他进制 parseInt() 其他进制转换为10进制 进制: 二进制: 0, 1 (0~1) 八进制: 0, 1, 2, 3, 4, 5, 6, 7 (0~7) 十进制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (0~9) 十六进制: 0, 1, 2, 3, 4, 5, 6,…

CRM系统中的工作流管理及其重要性

工作流是CRM系统中较为常见的功能,它可以有效减少重复工作、提高销售效率。如果您想深入了解,本文就来详细说说,CRM工作流是什么?工作流的作用? 什么是CRM工作流? CRM工作流是指在CRM系统中,根…