c++ string 操作

本文详细介绍了C++中string类的各种操作,包括assign、append、find、replace、erase和substr等函数的使用,以及字符串的比较和单个字符存取。这些函数对于字符串的查找、替换和子串截取至关重要,是C++编程中处理字符串的基本操作。

string& assign ( const string& str );
string& assign ( const string& str, size_t pos, size_t n );
string& assign ( const char* s, size_t n );
string& assign ( const char* s );
string& assign ( size_t n, char c );

basic_string &append( const basic_string &str );
basic_string &append( const char *str );
basic_string &append( const basic_string &str, size_type index, size_type len );
basic_string &append( const char *str, size_type num );
basic_string &append( size_type num, char ch );
basic_string &append( input_iterator start, input_iterator end );

查找和替换

s.find(s1)         查找s中第一次出现s1的位置,并返回(包括0)
s.rfind(s1)        查找s中最后次出现s1的位置,并返回(包括0)
s.replace(pos, n, s1)    用s1替换s中从pos开始(包括0)的n个字符的子串

此处 转载 learn 11233466 作者的博客
https://blog.csdn.net/weixin_52005267/article/details/116604687
在此声明及感谢
int find(const string& str,int pos=0) const; //查找str第一次出现位置,从pos开始查找
int find(const char* s,int pos=0) const; //查找s第一次出现位置,从pos开始查找
int find(const char* s,int pos,int n) const; //从pos位置查找s的前n个字符第一次位置
int find(const char c,int pos=0) const; //查找字符c第一次出现位置
int rfind(const string& str,int pos=npos) const; //查找str最后一次位置,从pos开始查找
int rfind(const char* s,int pos=npos) const; //查找s最后一次出现位置,从pos开始查找
int rfind(const char* s,int pos,int n) const; //从pos查找s的前n个字符最后一次位置
int rfind(const char c,int pos=0) const; //查找字符c最后一次出现位置

string& replace(int pos,int n,const string&str); //替换从pos开始n个字符为字符串str
string& replace(int pos,int n,const char* s); //替换从pos开始的n个字符为字符串s

find 是从左往后进行查找, ffind 从右往左进行查找
find找到字符串后返回查找的第一个字符位置, 找不到返回-1
replace 在替换时, 要指定从哪个位置起, 多少个字符, 替换成什么样的字符.

string 字符串比较
字符串之间比较

string A, 
string B, 
  int m=A.compare (B); //完整的A和B的比较, 
  相等 返回0, 不相等返回1

string 字符串单个字符存取有两种方式, 利用[]或at
[] 本质是实现了operator[] 重载了中括号
string str = "hello";

str[1] = '3';
str.at(1) = '4';

string 字符串的插入和删除

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开始的!

string 子串

s.substr(pos, n)    截取s中从pos开始(包括0)的n个字符的子串,并返回
s.substr(pos)        截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回
配合find 效果更佳!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值