String共通インタフェース-find,replace

3688 ワード

find
size_t find(const string& str, size_t pos=0) const; 

文字列stringのpos位置から、サブストリングの検索を開始し、サブストリングが最初に現れた最初の文字位置を返し、見つからない場合はstring::nposを返します.
int main()
{
    string str1("i like apple and she like orange");
    string str2("like");
    
    size_t found=str1.find(str2,5);// pos=0 ,pos      
    if(found != string::npos)
    {
        cout<
size_t find(const char*s,size_t pos=0)const;

pos位置から、文字列内の文字ポインタに対応する文字を検索し、一致する先頭文字位置を返します.戻りstring::nposは見つかりません.
int main()
{
    string str1("i like apple and she like orange");
    string str2("like");
    
    size_t found = str1.find("apple");//pos   ,   0
    if(found != string::npos)
    {
        cout<
size_t find(const char*s, size_t pos,size_t n)const;

pos位置から、文字列の長さnの文字ポインタを検索し、戻り先頭文字の位置を検索しましたが、戻りstring::nposは見つかりませんでした.
int main()
{
	string str1("i like apple and she like orange");
	string str2("like");

	size_t found = str1.find("and",5,3);
	if (found != string::npos)
	{
		cout << found << endl;
	}
}
//  :13
size_t find(char c, size_t pos=0) const;

posの位置から、1つの文字を検索して、一致する文字の最初の出現の位置を返して、string::nposを返していません.
int main()
{
	string str1("i like apple and she like orange");
	string str2("like");

	size_t found = str1.find("i",7);
	if (found != string::npos)
	{
		cout << found << endl;
	}
}
//  :13

replace
string& replace (size_t pos,  size_t len,  const string& str)

サブストリングstrをターゲット文字列のposからlen個後ろの位置に置き換え、strがターゲット文字列の長さより大きい場合out_を放出する新しい文字列を返します.of_range
int main()
{
	string str1("i like apple and she like orange");
	string str2("like");

	string  str3 = str1.replace(0,1,str2);
    cout << str3 << endl;
}
//  :like like apple and she like orange
string& replace(size_t pos,size_t len,const string&str,size_t subpos,size_t sublen);

サブストリングstrをターゲット文字列のposからlen個後ろに置換し、サブストリングの置換範囲:subpos位置からsublen個後ろに置換する
int main()
{
	string str1("i like apple and she like orange");
	string str2("banana");

	string  str3 = str1.replace(7,5,str2,2,2);
    cout << str3 << endl;
}
//  :i like na and she like orange
string&replace(size_t pos,size_t len,size_t n,char c)

ターゲット文字列のpos位置からlen個後ろの位置にn文字cを置き換える
int main()
{
	string str1("i like apple and she like orange");
	string str2("banana");

	string  str3 = str1.replace(7,5,3,'A');
    cout << str3 << endl;
}
//  :i like AAA and she like orange
string&replace(size_t pos,size_t,char* s)

文字ポインタsをターゲット文字列のpos位置からlen個後ろの位置に置き換える
int main()
{
	string str1("i like apple and she like orange");
	string str2("banana");

	string  str3 = str1.replace(7,5,"peach");
    cout << str3 << endl;
}
//  :i like peach and she like orange
string&replace(size_t pos,size_t,char* s,size_t n)

前のn文字ポインタsをターゲット文字列のpos位置から後ろのlen個の位置に置き換える
int main()
{
	string str1("i like apple and she like orange");
	string str2("banana");
    string  str3 = str1.replace(7,5,"peach",2);
    cout << str3 << endl;
}
//  :i like pe and she like orange

記事の内容はcplusplus