21xrx.com
2024-12-22 20:50:04 Sunday
登录
文章检索 我的文章 写文章
C++字符串去除空格教程
2023-07-12 14:25:27 深夜i     --     --
C++ 字符串 去除空格 教程 编程语言

C++是一种高效、强大的编程语言,适合用于各种计算机程序的设计和开发。然而在实际编写C++程序时,有些操作可能不是那么直接简单。比如,去除字符串中的空格就是一种常见的操作。本篇文章将介绍如何使用C++去除字符串中的空格。

1. 使用erase函数

C++中的字符串类型是std::string,它提供了许多字符串的操作方法,包括erase函数。erase函数用于从字符串中删除指定位置的字符或一段字符。因此,我们可以使用它来删除空格字符。

示例代码:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string str = "Hello World";

  for (int i = 0; i < str.size(); i++)

  {

    if (str[i] == ' ')

    {

      str.erase(i, 1); //删除一个字符

    }

  }

  cout << str << endl; //输出HelloWorld

  return 0;

}

2. 使用substr函数和find_first_not_of函数

另一种常见的方法是使用substr函数和find_first_not_of函数。substr函数用于截取指定位置的一段子串,find_first_not_of函数则用于在字符串中查找第一个不是特定字符的位置。

示例代码:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string str = "Hello World";

  int i = 0;

  while (i < str.size())

  {

    if (str[i] == ' ')

    {

      int j = str.find_first_not_of(' ', i); //查找从i开始第一个不是空格的位置

      if (j == string::npos) //如果没找到,则说明后面的字符都是空格,直接删除即可

      {

        str.erase(i, string::npos);

        break; //跳出循环

      }

      str.erase(i, j - i); //删除从i到j之间的字符

      i = j; //更新i的值,从下一个字符开始查找

    }

    else

    {

      i++; //继续往下遍历

    }

  }

  cout << str << endl; //输出HelloWorld

  return 0;

}

总结

以上就是介绍C++中去除字符串中的空格的两种常见方法。使用erase函数较为简单,可以直接删除空格字符;而使用substr函数和find_first_not_of函数则需要多做一些查找、计算的工作,但可以更灵活地去除字符串中的空格。在实际编写程序时,应根据具体情况选择合适的方法。

  
  

评论区

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