子串出現的次數 含字串函式一覽)

2021-10-05 04:48:15 字數 2598 閱讀 2428

計算乙個字串(子串)在另乙個字串(長串)**現的次數。

字串操作函式

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)

cout<<

strlen

(b)

提示

乙個子串在另乙個長串**現的次數是指長串中可以同時截取出多少個子串。

例如:子串 「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 從右邊...