程式語言系列 1 字串 (C C )

2021-09-19 16:54:44 字數 3024 閱讀 6524

c 語言中,字串實際上是使用 == 『\0』 ==字元終止的一維字元陣列

#include > 1. 建立

char greeting[6] = ;

char greeting = "hello";

> 2. 獲取字串長度

len = strlen(str1);

> 3. 複製:

strcpy(str1, str2); //把str2複製到str1

> 4. 連線:

strcat(str1, str2); //連線str2到str1尾部

> 5. 比較:

strcmp(s1, s2); //相同的,則返回 0;s1s2 則返回》0

> 6. 查詢

strchr(s1, "s"); //返回乙個指標,指向字串 s1 中字元 ch 的第一次出現的位置。

strstr(s1, s2); //返回乙個指標,指向字串 s1 中字串 s2 的第一次出現的位置

> 7.大小寫轉化

s[i] = tolower(s[i]); //轉小寫

s[i] = toupper(s[i]); //轉大寫

#include > 1. 建立

string str = "hello world";

> 2. 獲取字串長度

len = s.size();

len = s.length(); //返回string物件的字元個數,執行效果同上

s.max_size(); //返回string物件最多包含的字元數

s.capacity(); //重新分配記憶體之前,string物件能包含的最大字元數

> 3. 複製:

string s1(str); //呼叫複製建構函式生成s1,s1為str的複製品

string s2(str,6); //將str內,開始於位置6的部分當作s2的初值

string s3(str,6,3); //將str內,開始於6且長度頂多為3的部分作為s3的初值

string s4(cstr); //將c字串作為s4的初值(char cstr = "abcde";)

string s5(cstr,3); //將c字串前3個字元作為字串s5的初值。

string s6(5,'a'); //生成乙個字串,包含5個'a'字元

string s7(str.begin(),str.begin()+5); //區間str.begin()和str.begin()+5內的字元作為初值

> 4. 連線:

s2 += s3.c_str(); //方法二:+ 操作符

> 5. 比較:

a.compare(b) //a和b比較,0:相等 1:大於 -1:小於

str == "li"; // c ++字串支援常見的比較操作符(>,>=,<,<=,==,!=)

str < "li";

> 6. 查詢

strchr(s1, "s"); //返回乙個指標,指向字串 s1 中字元 ch 的第一次出現的位置。

strstr(s1, s2); //返回乙個指標,指向字串 s1 中字串 s2 的第一次出現的位置

> 7. 插入

s1.push_back('a'); // 尾插乙個字元

s1.insert(s1.begin(),'1'); //在制定的位置pos前插入字元char

> 8. 刪除

s.erase(iterator p);//刪除字串中p所指的字元

s.erase(iterator first, iterator last); //刪除字串中迭代器

s.erase(size_t pos = 0, size_t len = npos);//刪除字串中從索引

s. clear();//刪除字串中所有字元

> 9. 遍歷

for( int i = 0; i < s1.size() ; i++ ){} //下標法

for(string::iterator iter = s1.begin() ; iter < s1.end() ; iter++){} //迭代器

> 10. 替換

s1.replace(3,2,2,'h'); //將當前字串從3開始的2個字元,替換成2個字元c

s1.replace(6,5,"girl"); //從6索引開始的5個字元,替換成字串s

s1.replace(s1.begin(),s1.begin()+5,"boy"); //將當前字串[i1,i2)區間中的字串替換為字串s

> 11. 大小寫轉換

transform(s.begin(),s.end(),s.begin(),::tolower);

> 12. 查詢

s.find("chicken");// 1. 查詢乙個字串

s.find('i',6)// 2. 從下標為6開始找字元'i',返回找到的第乙個i的下標

s.rfind("chicken") // 3. 從字串的末尾開始查詢字串,返回的還是首字母在字串中的下標

s.rfind('i') // 4. 從字串的末尾開始查詢字元

s.find_first_of("13br98") // 5. 在該字串中查詢第乙個屬於字串s的字元

s.find_first_not_of("hello dog 2006") // 6. 在該字串中查詢第乙個不屬於字串s的字元

s.find_last_of("13r98") // 7. 在該字串最後中查詢第乙個屬於字串s的字元

s.find_last_not_of("teac") // 8. 在該字串最後中查詢第乙個不屬於字串s的字元-

> 13. 擷取

const char *split = ",; !";

char *p2 = strtok(str,split); //根據指定分隔符分割

s1.substr(2,5) //從2開始擷取長度為5的字串

> 14. 排序

sort(s.begin(),s.end());

參考:

python系列 1 字串操作

1.去除空格 str.strip 刪除字串兩邊的指定字元,括號的寫入指定字元,預設為空格 a hello b a.strip print b hello str.lstrip 刪除字串左邊的指定字元,括號的寫入指定字元,預設為空格 str.rstrip 刪除字串右邊指定字元,預設為空格 2.複製字串...

C語言程式設計(練習1 字串和字串函式)

題目 設計並測試乙個函式,其功能是讀取輸入行裡的第乙個單詞到陣列,並丟掉該行中其他的字元。乙個單詞的定義是一串字元,其中不含空格,製表符和換行符。實現 設計並測試乙個函式,其功能是讀取輸入行裡的第乙個單詞到陣列,並丟掉該行中 其他的字元。乙個單詞的定義是一串字元,其中不含空格,製表符和換行符 inc...

c c 面試1 字串替換程式

描述 編寫乙個字串替換函式,如函式名為 strreplace char strsrc,char strfind,char strreplace strsrc為原字串,strfind是待替換的字串,strreplace為替換字串。如 abcdefghijklmnopqrstuvwxyz 這個字串,把其...