21xrx.com
2025-03-27 17:33:42 Thursday
文章检索 我的文章 写文章
C++语言中去除空格的方法
2023-07-11 10:40:11 深夜i     1030     0
C++语言 去除空格 方法

在C++语言中,去除字符串中的空格是一项基础操作。空格指的是空格符、制表符和换行符,这些字符对于程序的正确性和效率都有较大的影响。因此,在对字符串进行处理时,我们需要去除这些空格字符。下面介绍几种常见的方法供大家参考。

方法一:使用循环遍历字符串

这种方法基于循环遍历字符串的思想,逐个字符地遍历字符串,若遇到空格字符,则跳过该字符,否则将该字符添加到新字符串中。代码实现如下:

string remove_space(string str)
{
  string new_str;
  for (int i = 0; i < str.size(); i++)
  {
    if (str[i] == ' ' || str[i] == '\t' || str[i] == '\n')
      continue;
    else
      new_str += str[i];
  }
  return new_str;
}

方法二:使用STL算法

这种方法基于STL算法,通过使用remove_if函数将空格字符移至字符串末尾,最后再截取字符串,达到去除空格的效果。代码实现如下:

string remove_space(string str)
{
  str.erase(remove_if(str.begin(), str.end(), ::isspace), str.end());
  return str;
}

方法三:使用正则表达式

这种方法基于正则表达式,通过使用regex_replace函数将空格字符替换为空字符串,达到去除空格的效果。代码实现如下:

string remove_space(string str)
{
  str = regex_replace(str, regex("\\s+"), "");
  return str;
}

这三种方法的时间复杂度基本相同,都是O(n),但是在不同的情况下,可能会有不同的优缺点。因此,应根据实际需要进行选择。

  
  

评论区