21xrx.com
2024-09-20 06:23:50 Friday
登录
文章检索 我的文章 写文章
C++语言中去除空格的方法
2023-07-11 10:40:11 深夜i     --     --
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),但是在不同的情况下,可能会有不同的优缺点。因此,应根据实际需要进行选择。

  
  

评论区

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