在C++语言中,常常使用到string类型变量,对于string变量的判断、拼接使用的次数比较多。在这里总结一下常用的方法。
string 与 char* 互相转换:
//定义字符串
string A = "abcabcdewdew123";
//string 转 char*
const char* chA = A.c_str();
//char* 转 string
string str = chA;
string 判断是否包含某一段字符串:
第一种方式:strstr(const char* string1, const char* string2) 函数,返回值类型:char*
例:
//判断A字符串中是否包含a1字符串
string A = "abcdew123"; //定义字符串A
string a1 = "abc"; //定义字符串a1
//判断A中是否包含a1
if (strstr(A.c_str(), a1.c_str()) != NULL) {
cout << "contain";
}
else {
cout << "not contain";
}
第二种方式:size_type find(string &str) 函数,返回值类型:size_type 如果不包含该字符串返回string::npos 如果包含该字符返回包含的初始位置。
例:
//判断A字符串中是否包含a1字符串
string A = "abcdew123"; //定义字符串A
string a1 = "abc"; //定义字符串a1
//判断A中是否包含a1
if (A.find(a1) != string::npos) {
cout << "contain";
}
else {
cout << "not contain";
}
string字符串的截取:
string字符串的截取主要调用函数sbustr(int pos = 0, int len)
函数原型:
//string 字符串截取函数
string substr(int pos = 0, int len);
入参说明:
pos:字符串开始截取的位置下标。
len:需要截取字符串的长度,如果不填这个参数,代表从开始位置截取到字符串末端位置。
例:
string A = "abcdew123"; //定义字符串A
string str1 = A.substr(1); //从字符串下标为1的位置,截取到字符串末尾 输出:bcdew123
string str2 = A.substr(0,3); //从字符串下标为0的位置,截取长度为3 输出:abc
string str3 = A.substr(2,2); //从字符串下标为2的位置,截取长度为2 输出:cd
以上是总结的string字符串常用的一些方法,希望对你会有帮助,如果有不足的地方可以留言,我进行完善补充。