c++中删除一个字符串中所有数字字符
时间: 2023-09-23 09:03:58 浏览: 154
可以使用C++ STL中的算法库和字符串库来删除字符串中的数字字符。可以使用std::remove_if和std::isdigit函数来实现。
以下是一个示例代码:
```c++
#include <iostream>
#include <algorithm>
#include <string>
int main()
{
std::string str = "abc123def456";
str.erase(std::remove_if(str.begin(), str.end(), std::isdigit), str.end());
std::cout << str << std::endl; // 输出 "abcdef"
return 0;
}
```
首先,我们定义了一个包含数字字符的字符串。然后,我们使用std::remove_if函数和std::isdigit函数来删除所有数字字符。最后,我们输出结果字符串。
相关问题
c++中删除一个字符串中所有数字字符,用for if语句
当然可以,可以使用for循环遍历字符串的每一个字符,然后使用if语句判断是否为数字字符,并将其删除。
以下是一个示例代码:
```c++
#include <iostream>
#include <string>
int main()
{
std::string str = "abc123def456";
std::string result = "";
for (int i = 0; i < str.length(); i++)
{
if (!isdigit(str[i]))
{
result += str[i];
}
}
std::cout << result << std::endl; // 输出 "abcdef"
return 0;
}
```
首先,我们定义了一个包含数字字符的字符串。然后,我们使用for循环遍历字符串的每一个字符,使用if语句判断是否为数字字符,并将其删除。最后,我们输出结果字符串。
c++ 删除一个字符串中的所有数字字符
可以使用C++标准库中的 `std::remove_if` 算法结合 lambda 表达式来删除字符串中的所有数字字符。以下是一个示例代码:
```c++
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string str = "hello 123 world 456";
std::cout << "Original string: " << str << std::endl;
// 使用 remove_if 算法结合 lambda 表达式删除数字字符
str.erase(std::remove_if(str.begin(), str.end(), [](char c) {
return std::isdigit(c);
}), str.end());
std::cout << "New string: " << str << std::endl;
return 0;
}
```
在上述代码中,我们首先定义了一个包含数字字符的字符串。然后,我们使用 `std::remove_if` 算法结合 lambda 表达式来删除其中的数字字符。最后,我们输出删除数字字符后的字符串到控制台上。
在 lambda 表达式中,我们使用 `std::isdigit` 函数来判断当前字符是否为数字字符。如果是数字字符,则返回 `true`,否则返回 `false`。`std::remove_if` 算法会将符合条件的字符移动到字符串的末尾,并返回一个新的迭代器,该迭代器指向末尾的第一个符合条件的字符。最后,我们使用该迭代器来删除字符串中的数字字符。