在C++中怎么去除字符串中的非数字和非字母
时间: 2024-11-28 16:27:44 浏览: 42
在C++中,你可以使用`std::regex`库或者`<algorithm>`中的`remove_if`函数配合`std::isalnum`函数来去除字符串中的非数字和非字母字符。这里是一个简单的例子:
```cpp
#include <iostream>
#include <string>
#include <cctype>
#include <algorithm>
// 使用标准库函数检查是否字母或数字
bool is_valid_char(char c) {
return std::isalnum(c);
}
std::string remove_non_alphanumeric(const std::string& str) {
// 创建一个新字符串来存储结果
std::string cleaned_str;
// 遍历原字符串
for (char c : str) {
if (is_valid_char(c)) {
// 如果字符是字母或数字,则添加到新字符串
cleaned_str += c;
}
}
return cleaned_str;
}
int main() {
std::string input = "Hello!123 World@#$";
std::string result = remove_non_alphanumeric(input);
std::cout << "Cleaned string: " << result << std::endl;
return 0;
}
```
在这个示例中,`is_valid_char`函数用于判断字符是否为字母或数字,然后`remove_non_alphanumeric`函数会创建一个新的字符串,只包含输入字符串中的字母和数字。
阅读全文