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 這個字串,把其...