更新時間:2020-11-05 17:47:20 來源:動力節點 瀏覽1358次
我們已經知道了字符串在存儲上類似字符數組,所以它每一位的單個元素都是可以提取的,同樣也可以像數組中查找元素一樣進行相關的查找操作。本文我們就來了解一下字符串查找。
總的來說,字符串查找可以分為三個方面:
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天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習