C++容器(1)String

好吧,string这玩意都听烂了,基本上学每个编程语言都要涉及,这里还是c++里string一些常用的方法

构造方式

void test01() {
 string s;  //默认构造
 const char* str = "hello";
 string s2(str);
 string s3(s2);
 string s4(10, 'a');
 }

赋值方式

void test02() {
string str = "hello";

string str1 = str;
string str2;
str2 = 'a';

string str3;
str3.assign("hello");

string str4;
str4.assign("hello", 3);//前三个赋给它

string str5;
str5.assign(str4);

str5.assign(10, 'w');
}

字符串增加

void test03() {
 string str1 = "我";
 str1 += "是";
 str1 += 'w';
 
 string str2 = "sp";
 str1 += str2;
 
 string str3 = "I";
 str3.append(" love");
 str3.append("youaaaa", 3);//参数的前n个拼接
 str3.append(str1);
 str3.append("yayayay", 2, 5);//指定位置开始截取指定长度增加
}

字符串查找替换

void test04() {

 string str1 = "abcdefg";
 str1.find("de");//返回第一次出现的索引 没有返回-1
 str1.rfind("de");
 //refind从后往前找,find从前往后找 都是返回索引
 
 //替换
 str1.replace(1, 3, "111");//从索引1开始长度3替换为指定参数
}

字符串比较操作 按ASCII值比较

void test05() {
 
 string str1="hello";
 string str2 = "hello";
 if (str1.compare(str2) == 0) {
  cout << "相等";
 }
}

字符串存取

void test06() {

 string str1 = "qqqqq";
 //通过[]
 for (int i = 0;i < str1.size();i++) {
  cout << str1[i];
 }
 //通过at
 for (int i = 0;i < str1.size();i++) {
  cout << str1.at(i);
 }
 //同样可以修改
 str1[0] = 'a';
 str1.at(1) = 'b';
}

插入和删除

void test07() {
 string str1 = "hello";
 string str = "aaa";
 str1.insert(1, "aaa");//从指定位置插入指定字符 变量也可以传入
 //删除
 str.erase(1,3);//从指定索引位置删除指定长度的字符
}

获取子串

void test08() {
 string str = "abcdefg";
 string Substr = str.substr(1,3);//从指定索引位置截取指定长度的子串
}
发布了22 篇原创文章 · 获赞 15 · 访问量 5497

猜你喜欢

转载自blog.csdn.net/qq_42193790/article/details/104201704
今日推荐