📅  最后修改于: 2023-12-03 15:22:43.009000             🧑  作者: Mango
在 C++ 中删除字符串中的空格是一个常见的问题,特别是当我们需要从用户输入中获取字符串时。以下是一些方法可以帮助你轻松删除字符串中的所有空格。
这种方法是最基本的,但也是最容易理解的。基本思想是使用一个循环来遍历字符串中的每个字符,并检查是否为' '(空格)字符。如果它是,我们就可以删除它。
#include <iostream>
#include <string.h>
int main() {
char str[] = "Hello World";
int len = strlen(str);
for(int i=0; i<len; i++) {
if(str[i] == ' ') {
for(int j=i; j<len; j++) {
str[j] = str[j+1];
}
len--;
i--;
}
}
std::cout << "The string after removing spaces: " << str << '\n';
return 0;
}
C++ 标准库提供了一个很方便的工具,可以轻松删除字符串中的所有空格字符。我们可以使用 std::string
的 erase()
函数和 std::remove()
算法来达到我们的目的。
#include <iostream>
#include <string>
int main() {
std::string str = "Hello World";
str.erase(std::remove(str.begin(), str.end(), ' '), str.end());
std::cout << "The string after removing spaces: " << str << '\n';
return 0;
}
如果您已经熟悉了正则表达式,那么可以使用它们来轻松删除字符串中的所有空格。使用正则表达式库,我们可以匹配所有空格字符,并将其替换为一个空字符。
#include <iostream>
#include <regex>
int main() {
std::string str = "Hello World";
std::regex pattern("[[:s:]]");
str = std::regex_replace(str, pattern, "");
std::cout << "The string after removing spaces: " << str << '\n';
return 0;
}
以上是三种在 C++ 中删除字符串中空格的常用方法。使用这些技巧可以方便地去除所有的空格字符,确保您的字符串处理更加优秀。