21xrx.com
2024-11-22 06:01:27 Friday
登录
文章检索 我的文章 写文章
如何在C++中去除string字符串的前后空格
2023-07-04 23:42:34 深夜i     --     --
C++ string 前后空格 去除

在C++中,处理字符串是一项基础技能。在处理字符串时,经常需要去除字符串的前后空格。本文将介绍如何使用C++语言去除string字符串的前后空格。

删除字符串前面的空格

要删除字符串前面的空格,可以通过遍历从字符串的第一个字符开始,检查每个字符是否为空格,如果为空格,则将其删除。具体代码如下:


#include <iostream>

#include <string>

using namespace std;

string removeLeadingSpaces(string str) {

  if (str.empty())

    return "";

  

  int i = 0;

  while (str[i] == ' ') {

    i++;

  }

  return str.substr(i);

}

int main() {

  string s = "  Hello world!";

  string result = removeLeadingSpaces(s);

  cout << result << endl; // 输出 "Hello world!"

  return 0;

}

该代码使用了C++的string类型,通过substr()函数来返回字符串的一部分,即从第i个字符到字符串末尾的所有字符。这里,i表示第一个不为空格字符的下标。

删除字符串后面的空格

要删除字符串后面的空格,可以使用同样的方法。从字符串的最后一个字符开始,检查每个字符是否为空格,如果为空格,则将其删除。具体代码如下:


#include <iostream>

#include <string>

using namespace std;

string removeTrailingSpaces(string str) {

  if (str.empty())

    return "";

  

  int i = str.size() - 1;

  while (i >= 0 && str[i] == ' ')

    i--;

  

  return str.substr(0, i + 1);

}

int main() {

  string s = "Hello world!   ";

  string result = removeTrailingSpaces(s);

  cout << result << endl; // 输出 "Hello world!"

  return 0;

}

该代码也使用了C++的string类型,substr()函数和size()函数。这里,i表示最后一个不为空格字符的下标。注意i的初始值为字符串长度减一。

综上所述,我们可以使用C++语言对字符串进行处理,从而去除字符串的前后空格。为了提高效率和可重用性,我们还可以尝试将这些代码封装到函数中。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章