21xrx.com
2024-12-23 00:01:21 Monday
登录
文章检索 我的文章 写文章
C++的字符串去空格函数trim
2023-07-04 18:04:59 深夜i     --     --
C++ 字符串 去空格 函数 trim

在C++编程语言中,字符串是一种非常常用的数据类型。而在字符串处理中,去除空格是一个非常常见的操作,这时就需要用到字符串去空格函数trim。

trim函数是一种用来删除字符串开头和结尾的空格的函数。这个函数可以去除不可见的字符,如空格、制表符和换行符等。这使得字符串的处理变得更为简单和高效。

使用trim函数可以减少字符串的大小,去掉不必要的字符,可以帮助减少运算量和内存使用量,从而提高程序的执行速度。

下面是一个trim函数的示例代码:


#include <iostream>

#include <algorithm>

#include <string>

using namespace std;

string trim(string s) {

  s.erase(s.begin(), find_if(s.begin(), s.end(), [](int ch) { return !isspace(ch); }));

  s.erase(find_if(s.rbegin(), s.rend(), [](int ch) { return !isspace(ch); }).base(), s.end());

  return s;

}

int main() {

  string s = "  Hello World! \n";

  cout << "Before trimming: " << s << endl;

  s = trim(s);

  cout << "After trimming: " << s << endl;

  return 0;

}

这段代码实现了一个简单的trim函数,它使用了`std::string`类中的`erase`函数和`std::find_if`算法。`erase`函数可以在字符串中删除指定范围的字符,而`find_if`算法则用于遍历字符串中的每个字符,找到第一个不为空格的字符。

在这个函数中,我们首先使用`find_if`算法找到第一个不为空格的字符,并调用`erase`函数删除其前面的空格。然后,我们再使用`find_if`算法找到最后一个非空格字符,并调用`erase`函数将其后面的空格删除。最终,我们返回处理过的字符串。

使用这个函数可以大大简化字符串处理的过程,特别是当涉及到用户输入的数据时,可以保证输入的正确性和一致性。因此,在进行字符串操作时,不妨添加一个trim函数,使代码更加规范和高效。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复