更新时间:2020-11-05 17:47:20 来源:极悦 浏览1169次
我们已经知道了字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,同样也可以像数组中查找元素一样进行相关的查找操作。本文我们就来了解一下字符串查找。
总的来说,字符串查找可以分为三个方面:
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基础教程吧!
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习