string 的一些字符串操作函數


1.find查找函數
函數原型:

size_t find ( const string& str, size_t pos = 0 ) const;
size_t find ( const char* s, size_t pos, size_t n ) const;
size_t find ( const char* s, size_t pos = 0 ) const;
size_t find ( char c, size_t pos = 0 ) const;

參數說明:pos查找起始位置 n待查找字符串的前n個字符

使用樣例:

string str1("the usage of find can you use it");

string str2("the");

上面定義出了兩個字符串;

str1.find(str2); // 從串str1中查找時str2,返回str2中首個字符在str1中的地址

str1.find(str2,5); // 從str1的第5個字符開始查找str2

str1.find("usage"); // 如果usage在str1中查找到,返回u在str1中的位置

str1.find("o"); // 查找字符o並返回地址

str1.find("of big",2,2); // 從str1中的第二個字符開始查找of big的前兩個字符
2.函數find_first_of()和 find_last_of() 執行簡單的模式匹配
int find_first_of(char c, int start = 0):
查找字符串中第1個出現的c,由位置start開始。
如果有匹配,則返回匹配位置;否則,返回-1.默認情況下,start為0,函數搜索
整個字符串。
int find_last_of(char c,int end):
查找字符串中最后一個出現的c。有匹配,則返回匹配位置;否則返回-1.
該搜索在字符末尾查找匹配,所以沒有提供起始位置。
同樣還可以有find_first_not_of等函數,函數名顧名思義,就是找第一個不是我要求字符的位置,注意,輸出的結果總是下標,下標是從0開始的。
3. string substr(int start=0,int count= -1);
參數分別是開始,長度。
從起始位置開始復制字符串中的count 個字符,並返回這些字符作為子串。
如果字符串尾部小於count字符或者count 為-1,則字符串尾停止復制。
如果不使用參數調用只包括位置start,則substr()返回從位置開始到字符串尾部的子串。
4.void insert(int statr,const string& s):
字符連接(+、+=)是在字符串尾添加字符串。insert()函數擴展了這個能力,
允許在任意位置添加字符串。為了從字符串。
將子串s放入字符串中,起始於位置start。插入操作增加了原始字符串的長度。
string &insert(int p0, const char *s, int n);——在p0位置插入字符串s的前n個字符
string &insert(int p0,const string &s);——在p0位置插入字符串s
string &insert(int p0,const string &s, int pos, int n);——在p0位置插入字符串s從pos開始的連續n個字符
string &insert(int p0, int n, char c);//在p0處插入n個字符c
iterator insert(iterator it, char c);//在it處插入字符c,返回插入后迭代器的位置
void insert(iterator it, const_iterator first, const_iteratorlast);//在it處插入從first開始至last-1的所有字符
void insert(iterator it, int n, char c);//在it處插入n個字符c
5.void erase(int start=0,int count=-1):
(1)erase(pos,n); 刪除從pos開始的n個字符,比如erase(0,1)就是刪除第一個字符
(2)erase(position);刪除position處的一個字符(position是個string類型的迭代器)
(3)erase(first,last);刪除從first到last之間的字符(first和last都是迭代器)
6.c_str()返回c語言風格字符串的地址。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com