處理string物件中的基本操作

2021-10-08 22:53:26 字數 1512 閱讀 8275

——南昌理工學院acm集訓隊

cctype標頭檔案中的函式

使用以下函式需要新增標頭檔案

isalnum(c) 當c是字母或數字時為真

isalpha(c) 當c是字母時為真

iscntrl(c) 當c 是控制字元時為真

isdigit(c) 當c是數字時為真

isgraph(c) 當c不是空格但可列印時為真

islower(c) 當c是小寫字時為真

isprint(c) 當c是可列印字元時為真(即c是空格或c具有可是形式)

ispunct(c) 當c是標點符號時為真(即c不是控制字元、數字、字母、可列印空白中的一種)

isspace(c) 當c是空白時為真(即c是空格、橫向製表符、縱向製表符、回車符、換行符、進紙符中的一種)

isupper(c) 當c是大寫字母時候為真

isxdigit(c) 當c是十六進製制數為真

tolower(c) 如果c是大寫字母,輸出對應的小寫字母;否則原樣輸出c

toupper(c) 如果c是小寫字母,輸出對應大寫字母;否則原樣輸出c

處理每個字元?使用基於範圍的for語句

string str(「some string」)

for(auto c;str) //對於str字串中的每個字元

cout《使用ccyupe標頭檔案中包含的ispunct函式來統計string物件中標點符號的個數

string s

(「hello world!

!!」)

;decltype

(s.size()

)punct_cnt=0;

//統計s中標點符號的個數

for(

auto c:s)

}cout<在這裡插入**片

使用toupper函式來改變字串中的字元(對換大小寫)

cout << s << endl;

}

輸出結果:hello

特註:每次迭代時,變數c引用string物件s的下乙個字元,賦值給c也就是在改變s中對應字元的值。因此在執行a=toupper(a)時,,實際上改變了c繫結字元的值。整個迴圈結束後,str中的所有字元都變成了大寫

如何只處理一部分字元

兩種方式:

1.運用下標運算子()接收的是std::size_type型別的值(無符號數),整個引數表示訪問的字元的位置;返回值是該位置上字元的引用

string物件的下標從0計起,s[0]是第乙個字元,s[2]是第二個字元,s[s.size()-1]是最後乙個字元

使用超出範圍的下標將引發不可預知的結果(溢位),以此推斷,使用下標范文空string也會引發不可預知的後果

在訪問指定字元前記得一定要檢查字串是否為空

將字串的首字元改寫成大寫形式

cout <<

"s[0]="

<<<

" "<}

結果:s[0]=h hello

string物件中字元的處理

經常要對string物件中的單個字元進行處理,如某個特殊字元是否為空白字元 字母或數字。以下各種字元操作函式,適用於string物件的字元 或其他任何char值 這些函式定義在cctype標頭檔案中 isalnum c 如果c是字母或數字,則為true isalpha c 字母 iscntrl c ...

處理string物件中的字元

1 範圍for string word helloworld for auto a word a為單個字元 如果需要對字元進行修改要加上引用 for auto a word a x 上面就把word裡面的所有字元替換為了x2 下標運算子 看成陣列 3 迭代器 isalnum c 字母或數字為真 is...

JavaScript中的String物件

string物件提供的方法用於處理字串及字元。常用的一些方法 charat index 返回字串中index處的字元。indexof searchvalue,fromindex 該方法在字串中尋找第一次出現的searchvalue。如果給定了fromindex,則從字串內該位置開始搜尋,當searc...