1、字符串比较
比较函数原型:
- int compare(const string &s) const; //与字符串s比较
- int compare(const char *s) const; //与字符串s比较
比较方式:
= 返回 0
> 返回 1
< 返回 -1
总结:字符串对比主要是用于比较两个字符串是否相等,判断谁大谁小的意义并不是很大
2、字符串存取
string中单个字符存取方式有两种
- char& operator[](int n); //通过[]方式取字符
- char& at(int n); //通过at方法获取字符
总结:string字符串中单个字符存取有两种方式,利用 [ ] 或 at
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
void test01()
{
string str1("hello");
string str2("xello");
int ret = str2.compare(str1);
if (ret == 0)
{
cout << "两个字符串相等" << endl;
}
if (ret == 1)
{
cout << "str2大于str1" << endl;
}
if (ret == -1)
{
cout << "str2小于str1" << endl;
}
}
void test02()
{
string str;
str = "12345678";
cout << str.size() << endl;
for (int i = 0; i < str.size(); i++)
{
cout << str[i] << " ";
}
for (int i = 0; i < str.size(); i++)
{
cout << str.at(i) << " ";
}
str[7] = 'x';
str.at(0) = 'x';
cout << str << endl;
}
int main()
{
test01();
test02();
return 0;
}
3、字符串插入和删除
函数原型:
- string& insert(int pos, const char* s); //插入字符串
- string& insert(int pos, const string& str); //插入字符串
- string& insert(int pos, int n, char c); //在指定位置插入n个字符c
- string& erase(int pos, int n = npos); //删除从Pos开始的n个字符
总结:插入和删除的起始下标都是从0开始
4、求子串,字符串截取
函数原型:
- string substr(int pos = 0, int n = npos) const; //返回由pos开始的n个字符组成的字符串
总结:灵活的运用求子串功能,可以在实际开发中获取有效的信息
#include<iostream>
#include <string>
using namespace std;
void test01()
{
string str1 = "hello";
str1.insert(1, "123");
cout << str1 << endl;
str1.erase(1, 3);
cout << str1 << endl;
}
void test02()
{
string s1 = "hello";
string s2 = s1.substr(1, 3);
cout << s2 << endl;
}
void test03()
{
string s1 = "xcl@1234567.com";
int pos = s1.find('@');
string usr_name = s1.substr(0, pos);
cout << usr_name << endl;
}
int main()
{
string s2;
s2 = 'a';
test03();
return 0;
}
|