21xrx.com
2024-11-08 21:57:05 Friday
登录
文章检索 我的文章 写文章
C++字符串的去除空格(trim)方法
2023-07-07 11:29:48 深夜i     --     --
C++ 字符串 去除空格 trim 方法

在C++中,字符串(string)是常用的数据类型之一。在处理字符串时,有时会遇到需要去除字符串首尾的空格的情况。这个过程称为字符串的trim(去除空格)。

下面介绍几种常用的C++字符串trim方法。

1.使用algorithm库的trim函数

algorithm库是C++的标准库之一,提供了许多函数,其中包括trim函数。使用这个函数可以轻松地去掉字符串首尾的空格。

代码示例:


#include<iostream>

#include<algorithm>

#include<string>

using namespace std;

int main(){

  string str1 = " hello world! ";

  //调用trim函数去掉字符串首尾空格

  str1.erase(0, str1.find_first_not_of(" "));

  str1.erase(str1.find_last_not_of(" ") + 1);

  cout<<str1<<endl;

  return 0;

}

输出结果:


hello world!

2.手动实现trim函数

如果不想使用algorithm库中的trim函数,也可以手动实现一个trim函数。下面是一个比较简单的实现方法。

代码示例:


#include<iostream>

#include<string>

using namespace std;

//定义trim函数

string trim(string& str){

  //去掉字符串左侧空格

  str.erase(0, str.find_first_not_of(" "));

  //去掉字符串右侧空格

  str.erase(str.find_last_not_of(" ") + 1);

  return str;

}

int main(){

  string str1 = " hello world! ";

  //调用trim函数去掉字符串首尾空格

  trim(str1);

  cout<<str1<<endl;

  return 0;

}

输出结果:


hello world!

3.使用正则表达式

还有一种方式是使用正则表达式去除字符串首尾空格。

代码示例:


#include<iostream>

#include<string>

#include<regex>

using namespace std;

int main(){

  string str1 = " hello world! ";

  //定义正则表达式

  regex pattern("\\s*(.*?)\\s*");

  //使用regex_replace函数去除字符串首尾空格

  string new_str1 = regex_replace(str1,pattern,"$1");

  cout<<new_str1<<endl;

  return 0;

}

输出结果:


hello world!

总结

以上是C++中几种常用的去除字符串空格(trim)的方法。使用其中任何一种都可以轻松地去除字符串首尾的空格。根据实际需要选择相应的方法即可。

  
  

评论区

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