欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【学习笔记】字符串string的常用处理方法(C++)

【学习笔记】字符串string的常用处理方法(C++)

2025/4/13 11:22:06 来源:https://blog.csdn.net/H13420972436/article/details/140525467  浏览:    关键词:【学习笔记】字符串string的常用处理方法(C++)

初始化 //默认初始化为空字符串

string sub;//默认初始化为空字符串

截取.substr()

string c = s.substr(i, k)//从i起,长为k

追加字符.push_back(A); //其中A是char类型

  • //应用: 由此可以将string用栈思想来操作( stack.top() = string.(string.length()-1) )
string s;
s.push_back('a');

接收

无惧空格,读入一整行 getline:
getline(cin, s);//遇到换行符才会停
  • 注意:cin后,用getline前,要先进行一次getline来“清除缓存”。
string s;
cin>>s;
getline(cin, s);//清除缓存:此时输入s为""
getline(cin, s);//正式接收新的输入

查找

易错: 单个字符用单引号;// 如 s.find('A'); 
.find()
  • 若成功找到,返回第一次出现位置的首字母下标,
  • 若找不到,返回标记 s.npos (一般来说,其实就是整型值 -1)
string s;
int pos1 = s.find('A');//单个字符用单引号哦~
int pos = s.find("tofind");
if(pos == s.nops) cout<<"not found";
if(pos >= 0) cout<<"found";
.rfind():
  • 若字符找到,返回从右往左数第一次出现该字符的位置下标

(组合应用例) 将A换成B:

分两步:

  • 1.用.find方法找到A;
size_t pos = s.find("world");
//size_t是无符号整数类型,主要用于表示内存大小、对象大小或数组索引等
//此处用int也可以的
  • 2.用,replace方法替换为B;
s.replace(pos, len, "C++");
 替换实现:
#include<bits/stdc++.h>
using namespace std;int main()
{string s = "Hello world";int pos = s.find("world");if(pos != string::npos){int len = strlen("world");s.replace(pos, len, "C++");}cout<<s<<endl;//输出"Hello C++"
}

(组合应用例) 将字符串 sub 中的字符 'A' 前的子串删除掉

string sub = "fddfsdfhods";
int pos = sub.find('A');
if(pos >= 0)//找到了
{sub = sub.substr(pos, sub.length() - 1 - pos);
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词