C++ 容器

string

1. 构造

string s1();							// 1
string s2("hello");						// hello
string s3(3, 'k');						// kkk
string s4("hellohello", 2, 4);			// lloh

2. 赋值

string s1 = "hellohello";				// hellohello
string s2.assign(s1);					// hellohello
string s3.assign(s1, 2, 4);				// lloh
string s4.assign("hellohello", 2, 4);	// lloh

3. 长度

string s1 = "hellohello";
int len = s1.size();					// 10

4. 拼接

string s1("hello"), s2("world");		
string s3 = s1 + s2;					// helloworld
string s4 = s1.append(s2);				// helloworld (此时 s1 已经改变)
string s5 = s1.append("world", 2, 2);	// helloworldrl

5. 比较

string s1("hello"), s2("world");
int res1 = (s1 < s2);					// 1
int res2 = (s1 != s2);					// 0
int res3 = s1.compare(s2);				// -15 即 ('h' - 'w')
int res3 = s1.compare(3, 1, s2, 4, 2);	// 8 即 ('l' - 'd')

6. 子串

string s1 = "helloworld";
string s2 = s1.substr(2, 4);			// llow
string s3 = s1.substr(2);				// lloworld

7. 交换

string s1("hello"), s2("world");		// hello world
s1.swap(s2);							// world hello

8. 查找

string s1 = "helloworld";
int n;
if ((n = s1.find('w')) != string::npos) {
	cout << n << s1.substr(n) << endl;	// 5 world
}
if ((n = s1.find("wo")) != string::npos) {
	cout << n << s1.substr(n) << endl;	// 5 world
}
if ((n = s1.find_first_of("l")) != string::npos) {
	cout << n << s1.substr(n) << endl;	// 2 lloworld
}
if ((n = s1.find_last_of("l", 3)) != string::npos) {
	cout << n << s1.substr(n) << endl;	// 8 ld
}
if ((n = s1.find_first_not_of("hel")) != string::npos) {
	cout << n << s1.substr(n) << endl;	// 4 oworld
}

9. 替换

string s1("hello"), s2("world");		// hello world
s1.replace(1, 2, "123456", 2, 3);		// h345lo
s1.replace(1, 2, 3, 'k');				// hkkk5lo	
s1.replace(1, 2, s2, 3, 2);				// hldk5lo	

10. 删除

string s1("helloworld");				// hello world
s1.erase(1, 2);							// hloworld
s1.erase(4);							// hlow

11. 插入

string s1("hello"), s2("world");		// hello world
s1.insert(3, s2, 1, 3);					// helorllo
s1.insert(2, 3, 'k');					// hekkklorllo

12. 排序

static bool cmp(char c1, char c2) {return c1 > c2;}
string s1("helloworld");
sort(s1.begin(), s1.end());				// dehllloorw
sort(s1.begin(), s1.end(), cmp);		// wroolllhed

你可能感兴趣的:(c++,开发语言)