更新時間:2020-11-05 17:47:20 來源:動力節(jié)點 瀏覽1407次
我們已經知道了字符串在存儲上類似字符數(shù)組,所以它每一位的單個元素都是可以提取的,同樣也可以像數(shù)組中查找元素一樣進行相關的查找操作。本文我們就來了解一下字符串查找。
總的來說,字符串查找可以分為三個方面:
1 .查找一個字符
可以使用 strchr 函數(shù)或 strrchr 函數(shù)來在一個字符串中查找一個特定的字符:char *strchr(char const *str,int ch); // int ch 是字符的ASCII碼值
char *strrchr(char const *str,int ch);函數(shù) strchr 在字符串 str 中查找字符 ch 第一次出現(xiàn)的位置,并返回一個指向該位置的指針;如果沒有找到相應的字符,則返回一個 NULL 指針。函數(shù) strrchr 在字符串中查找字符 ch 最后一次出現(xiàn)的位置,并返回指向該位置的指針。
2. 查找任意幾個字符
可以使用 strpbrk 函數(shù)來查找任何一組字符第一次在字符串中出現(xiàn)的位置:char *strpbrk(char const *str , char const *group);這個函數(shù)返回一個指向字符串 str 中第一個匹配 group 中任何一個字符的字符位置,如果沒有匹配到,則返回一個 NULL 指針。
3 .查找一個子串
可以使用 strstr 函數(shù)來在一個字符串中查找一個子串:char *strstr(char const *str1 , char const *str2);這個函數(shù)在 str1 中查找整個字符串 str2 第一次出現(xiàn)的起始位置,并返回一個指向該位置的指針;如果 str2 并沒有完整的出現(xiàn)在 str1 中,則函數(shù)將返回一個 NULL 指針;如果 str2 是一個空字符串,則返回str1。
Java中字符串中子串的查找共有四種方法,如下:
1、int indexOf(String str) :返回第一次出現(xiàn)的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):從指定的索引處開始,返回第一次出現(xiàn)的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右邊出現(xiàn)的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :從指定的索引處開始向后搜索,返回在此字符串中最后一次出現(xiàn)的指定子字符串的索引。
indexof()用法說明:
返回 String 對象內第一次出現(xiàn)子字符串的字符位置。
string.indexOf(subString[, startIndex])
參數(shù) string必選項
String 對象或文字。
subString必選項。
要在 String 對象中查找的子字符串。
starIndex 可選項。
該整數(shù)值指出在 String 對象內開始查找的索引。如果省略,則從字符串的開始處查找。
說明
indexOf 方法返回一個整數(shù)值,指出 String 對象內子字符串的開始位置。如果沒有找到子字符串,則返回-1。
如果 startindex 是負數(shù),則 startindex 被當作零。如果它比最大的字符位置索引還大,則它被當作最大的可能索引。
從左向右執(zhí)行查找。否則,該方法與 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"));
// 從第四個字符位置開始往后繼續(xù)查找
System.out.println(str1.indexOf("c", 3));
//若指定字符串中沒有該字符則系統(tǒng)返回-1
System.out.println(str1.indexOf("x"));
}
以上就是本站的Java基礎教程中的字符串查找的相關內容,總的來說就是在字符串中查找字符或者子串,本文只是精選了本站教程中的重要內容,想要更全面了解學習的小伙伴快去觀看本站的Java基礎教程吧!