字符串处理函数:strlen、substr、trim
发布时间:2023-06-23 01:24:34
字符串是计算机编程中经常使用的数据类型,对字符串进行处理十分常见。在字符串的处理中,常用的函数有strlen、substr和trim等。
strlen函数用于计算字符串的长度,其函数原型为:
size_t strlen(const char* str);
其中,const char* str表示要计算长度的字符串。返回值是一个size_t类型的无符号整数,表示字符串的长度。
例如:
char str[] = "Hello World!";
size_t len = strlen(str);
printf("字符串 %s 的长度为 %zu
", str, len);
输出结果如下:
字符串 Hello World! 的长度为 12
可以看到,strlen函数可以方便地计算出字符串的长度。
substr函数用于截取字符串的一部分,其函数原型为:
string substr(size_t pos = 0, size_t len = npos) const;
其中,size_t pos表示从哪个位置开始截取,size_t len表示要截取的长度,如果不指定,则默认截取到字符串的末尾。返回值是一个string对象,表示截取后的字符串。
例如:
string str = "Hello World!"; string substr = str.substr(6,5); cout << "截取后的字符串为: " << substr << endl;
输出结果如下:
截取后的字符串为: World
可以看到,substr函数可以方便地截取出字符串的一部分。
trim函数用于去除字符串两端的空格,其实现可以参考下面的代码:
void trim(string &s) {
if (s.empty()) {
return;
}
s.erase(0, s.find_first_not_of(" "));
s.erase(s.find_last_not_of(" ") + 1);
}
其中,string &s表示要去除空格的字符串,&表示传递的是字符串的引用,可以直接修改原来的字符串。先通过s.find_first_not_of(" ")找到字符串开头 个非空格字符的位置,再通过s.erase(0, pos)删除空格和空格前面的字符,然后找到字符串结尾最后一个非空格字符的位置s.find_last_not_of(" "),最后通过s.erase(pos)删除空格和空格后面的字符。
例如:
string str = " Hello World! "; trim(str); cout << "|" << str << "|" << endl;
输出结果如下:
|Hello World!|
可以看到,trim函数可以方便地去除字符串两端的空格。
在字符串的处理中,strlen、substr和trim函数经常被使用,掌握它们的用法可以让字符串操作更加高效。
