std::string 在c++剔除所有的引号
时间: 2024-10-24 07:04:08 浏览: 20
C++ 11 std::function和std::bind使用详解
在 C++ 中,如果你想要从 `std::string` 对象中移除所有引号(单引号 ' 或双引号 "),你可以遍历字符串并检查每个字符。如果遇到引号,就跳过它直到找到对应的另一个引号,然后将它们之间的内容去掉。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
std::string remove_quotes(const std::string& str) {
std::string result;
bool inside_quotes = false;
for (char c : str) {
if (c == '\'' || c == '\"') {
inside_quotes = !inside_quotes; // 双重反转标志,因为需要找到对应的引号
continue;
}
if (!inside_quotes) {
result += c; // 如果不在引号内,添加到结果中
}
}
return result;
}
int main() {
std::string input = "Hello, \"world\"! This is a 'test'.";
std::string output = remove_quotes(input);
std::cout << "Output without quotes: " << output << std::endl;
阅读全文