計算乙個字串(子串)在另乙個字串(長串)**現的次數。
字串操作函式
c 和 c++ 提供了一系列操作字串的函式,要使用這些函式只要在**的標頭檔案部分包含 string.h 即可。
常用的字串處理函式見下表:
函式原型
函式功能
char * strcpy(char *dest,const char *src)
將字串 src 複製到 dest
char * strcat(char *dest,const char *src)
將字串 src 新增到 dest 末尾
char * strchr(const char *s,int c)
檢索並返回字元 c 在字串 s 中第一次出現的位置
size_t strlen(const char *s)
返回字串 s 的長度
char * strncat(char *dest,const char *src,size_t n)
將字串 src 中最多 n 個字元複製到字串 dest 中
int strcmp(const char *s1,const char *s2)
比較字串 s1 與 s2 的大小,若 s1 串大於 s2 串則返回乙個大於 0 的值;若 s1 串等於 s2 串則返回值為 0;若 s1 串小於 s2 串則返回乙個小於 0 的值。
int strncmp(const char *s1,const char *s2,size_t n)
比較字串 s1 與 s2 中前 n 個字元
char * strncpy(char *dest,const char *src,zise_t n)
複製 src 中的前 n 個字元到 dest 中
char * strstr(const char *s1,const char *s2)
掃瞄字串 s1,並返回第一次出現 s2 的位置
char * strtok(char *s1,const char *s2)
檢索字串 s1,該字串 s1 是由字串 s2 中定義的定界符所分隔
strstr 函式
在乙個長串中查詢子串可以使用strstr函式,該函式的函式原型為:
cppchar*
strstr
(const
char
* s1,
const
char
* s2);
char
*a="abcdeabcde"
;char
*b="bcd"
;cout<<
strstr
(a,b)
<當然,查詢子串時,也可以從長串的某個位置開始。
例如:
char
*a="abcdeabcde"
;char
*b="bcd"
;cout<<
strstr
(a+4
,b)
另外,下次從什麼地方開始查詢子串?應該是上次找到子串的開始位置加上子串的長度。其中,函式strlen可以計算字串的長度,其函式原型為:
int
strlen
(const
char
*s);
函式 strlen 只有乙個引數 s,它是乙個字元指標,代表了乙個字串,函式計算 s 指向字串的長度並返回。
例如:
char
*a="x"
;char
*b="hello world!"
;cout<<
strlen
(a)/ 輸出 1
cout<<
strlen
(b)/ 輸出 12
提示
乙個子串在另乙個長串**現的次數是指長串中可以同時截取出多少個子串。
例如:子串 「aaa」 在 「aaaaaaa」 **現的次數為 2 次。
測試輸入:
aaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
預期輸出:
7測試輸入:
abaaaaabbbbbabcdefg
預期輸出:
2
\#include
#include
using
namespace std;
intfrequency
(char
* substr,
char
* str)
;int
main()
// 函式frequency:計算子串在長串**現的次數
// 引數:substr-指向子串,str-指向長串
// 返回值:出現的次數
intfrequency
(char
* substr,
char
* str)
return m;
}
字串中查詢子串出現的次數
1.indexof 方法返回乙個整數值,指出 string 物件內子字串的開始位置。如果沒有找到子字串,則返回 1。2.substring x 從第x個字元到最後 substring x,y 從第x個字元到第y個 字元擷取 學習 思路 indexof能找到有沒有,但不會計數,需要配合substrin...
C 統計子字串出現次數
c 中沒有統計子字串出現次數的函式,那麼如何在c 求出字串中某字元的出現次數,比如求 adsfgehergasdf 中 a 出現的次數。首先想到的方法當然是從頭遍歷字串並統計 c1 0 for int i 0 i str.length i 第二種方法也很容易想到,將字串中所有要查詢的字元去除,然後比...
python的字串操作函式之一覽
s.strip chars s.find x,start,end s.index x.start,end 見上 s.format 見上 s.partition x 見上 s.replace x,y,n 用y替換x,可選n表示最多替換n次 s.split x,n 最多分割n次,s.rsplit 從右邊...