专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 字符串查找

字符串查找

更新时间:2020-11-05 17:47:20 来源:动力节点 浏览1092次

我们已经知道了字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,同样也可以像数组中查找元素一样进行相关的查找操作。本文我们就来了解一下字符串查找


总的来说,字符串查找可以分为三个方面:


1 .查找一个字符

可以使用 strchr 函数或 strrchr 函数来在一个字符串中查找一个特定的字符:char *strchr(char const *str,int ch);    // int ch 是字符的ASCII码值

char *strrchr(char const *str,int ch);函数 strchr 在字符串 str 中查找字符 ch 第一次出现的位置,并返回一个指向该位置的指针;如果没有找到相应的字符,则返回一个 NULL 指针。函数 strrchr 在字符串中查找字符 ch 最后一次出现的位置,并返回指向该位置的指针。


2. 查找任意几个字符

可以使用 strpbrk 函数来查找任何一组字符第一次在字符串中出现的位置:char *strpbrk(char const *str , char const *group);这个函数返回一个指向字符串 str 中第一个匹配 group 中任何一个字符的字符位置,如果没有匹配到,则返回一个 NULL 指针。


3 .查找一个子串

可以使用 strstr 函数来在一个字符串中查找一个子串:char *strstr(char const *str1 , char const *str2);这个函数在 str1 中查找整个字符串 str2 第一次出现的起始位置,并返回一个指向该位置的指针;如果 str2 并没有完整的出现在 str1 中,则函数将返回一个 NULL 指针;如果 str2 是一个空字符串,则返回str1。


Java中字符串中子串的查找共有四种方法,如下:

1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。

2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。

3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。

4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。


indexof()用法说明:

返回 String 对象内第一次出现子字符串的字符位置。

string.indexOf(subString[, startIndex])

参数 string必选项

String 对象或文字。

subString必选项。

要在 String 对象中查找的子字符串。

starIndex 可选项。

该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。

说明

indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回-1。

如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。

从左向右执行查找。否则,该方法与 lastIndexOf 相同。


示例:

下面的示例说明了 indexOf 方法的用法。

function IndexDemo(str2){

var str1 = "BABEBIBOBUBABEBIBOBU"

var s = str1.indexOf(str2);

return(s);

}

public class FirstDemo {

/**

*API中String的常用方法

*/

// 查找指定字符串是否存在

public static void main(String[] args) {

String str1 = "abcdefghijklmnabc";

// 从头开始查找是否存在指定的字符

System.out.println(str1.indexOf("c"));

// 从第四个字符位置开始往后继续查找

System.out.println(str1.indexOf("c", 3));

//若指定字符串中没有该字符则系统返回-1

System.out.println(str1.indexOf("x"));

}


以上就是本站的Java基础教程中的字符串查找的相关内容,总的来说就是在字符串中查找字符或者子串,本文只是精选了本站教程中的重要内容,想要更全面了解学习的小伙伴快去观看本站的Java基础教程吧!


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>