C 子字串查詢及提取

2021-10-05 04:06:15 字數 1125 閱讀 2740

strstr()與find()均可用於字串的查詢,乙個返回的是記憶體的位置,乙個卻是目標字元在字串中的下標。

函式原型:

extern char *strstr(char *str1, const char *str2);
str1: 被查詢目標

str2: 要查詢物件

返回值:若str2是str1的子串,則返回str2在str1的首次出現的位址;如果str2不是str1的子串,則返回null。

string中find()返回值是字母在母串中的位置(下標記錄),如果沒有找到,那麼會返回乙個特別的標記npos。(返回值可以看成是乙個int型的數)。

std::string的查詢函式:

find()

rfind() //返回子字串最後一次出現在字串中的索引位置

find_first_of() //

find_first_not_of()

find_last_of()

find_last_not_of()

這些操作全都返回 string::size_type 型別的值。

1 #include2 #include3 #include4 using namespace std;

5 int main()

6 17 else

18

21 }

提取某個字串中某兩個子字串之間的字串(返回「abcdefg」)

1 std::string strpath = "abcdefgabcdefg"

2 std::string::size_type start = std::string::npos;

3 std::string::size_type end= std::string::npos;

4 start = strpath.find("abc");//返回"abc"字串首次出現的首字母的下標

5 end = strpath.find_last_of("abc", start+1);//從start後一位開始查詢

6 if(start!=-1 && end != -1)

7 return strpath;

C語言 提取子字串

編寫乙個函式,它從乙個字串中提取乙個子字串。函式原型如下 int substr char dst,char src,int start,int len 目標是 從 src 陣列起始位置向後偏移 start個字元的位置開始,最多複製 len 個非nul字元到 dst陣列。在複製完畢之後,dst 陣列必...

在字串中查詢子字串並提取它

在字串中查詢子字串並提取它 有時候你會想要找出乙個較小的字串是否存在於乙個較大的字串中 我們通常會說乙個字串中存在乙個子字串 這可以使用indexof 方法來完成,該方法需要乙個parameter 你想要搜尋的子字串。嘗試以下 browsertype.indexof zilla 結果是2,因為子字串...

查詢 子字串查詢

子字串查詢 子字串查詢的常見方法 暴力破解 sunday和kmp。1 暴力查詢 暴力查詢就是用兩個指標i,j分別指向字串和子字串,如果指標指向的字元相等則兩指標右移 否則,指向字串的指標i回到本次匹配的下乙個位置,而指向匹配字串的指標j回到匹配字串的開頭。public int search stri...