#创作计划#字符串的常用函数
2024-12-11 17:22:36
发布于:广东
字符串有很多常用的函数,但是要加头文件先
#include<string>
接下来我给你们详解一下字符串的函数
1.size和length
这两个函数用于求字符串的长度,例如:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s="ABCDEFGHIJ";
cout<<s.size()<<" "<<s.length();
return 0;
}
输出结果会是
10 10
2.replace
replace是替换函数,这个函数要填入三个参数
详解:
replace(开始位置的下标,长度,替换的字符串);
例子:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s="ABCDEFGHIJ";
s.replace(2,5,"ABC");
cout<<s;
return 0;
}
输出结果会是
ABABCHIJ
3.substr
substr是截取子串,共有两个参数
详解:
substr(开始的下标,长度);
例子:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s="ABCDEFGHIJ";
cout<<s.substr(5,2);
return 0;
}
输出结果是
FG
4.find
find函数的功能是查找子串,若查找失败将返回string::npos(这个常量的数很大,不信自己用DEV输出看一看)
若查找成功,则返回第一个字符位置的下标
例子:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s="ABCDEFGHIJ";
size_t st=s.find("A");
if(st!=string::npos) cout<<st;
return 0;
}
本段代码的输出是
0
5.erase
这个函数是删除的作用,一共有三种用法
第一种:erase(pos,n); 删除从pos开始的n个字符
第二种:erase(pos); 删除pos处的一个字符(pos是一个迭代器)
第三种:erase(f,l) 删除f到l之间的所有字符(注意,f,l都是迭代器)
例子:
#include<string>
#include<iostream>
using namespace std;
int main (){
string str ("This is an example phrase.");
string::iterator it;
str.erase (10,8);
cout << str << endl;
it=str.begin()+9;
str.erase (it);
cout << str << endl;
str.erase (str.begin()+5, str.end()-7);
cout << str << endl;
return 0;
}
这段代码的输出是
This is an phrase.
This is a phrase.
This phrase.
6.empty
这个函数的功能是判断字符串是否为空
例如这段代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s="12345";
if(s.empty()) cout<<"YES";
else cout<<"NO";
return 0;
}
这段代码的输出是
NO
7.insert
这个函数的功能是插入字符串
详解
insert(下标,插入的字符串);
例如:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e6+10;
int main(){
string s="ABCDEFG",s1="ABS";
s.insert(5,s1);
cout<<s;
return 0;
}
本段代码的输出是
ABCDEFABSG
好了,以上就是七种常用的字符串函数,如果有帮助麻烦点个赞,如果有遗漏的也欢迎在评论区补充
这里空空如也
有帮助,赞一个