c++ - 从字符串c++中删除单引号字符

标签 c++

我研究了各种方法,从 string.erase/ispunct 等,但我不能简单地让它在我的代码中工作。

我的代码如下:

ifstream infilei("test.txt")

**Second part of code......**

while ( !infilei.eof() )
{
    string wordlist;
    infilei >> wordlist;
    inputlist.push_back(wordlist);
}

text.txt中包含逗号、单引号、双引号等,需要去掉。

在显示 infilei >> wordlist; 的地方,我尝试使用 if 语句删除带有 '"' 等的字符串,但它仍然没有删除单引号或双引号。是否还有另一个或者我可以设置一个 string.erase 超过某个 ascii 范围吗?还有一种方法可以在 push_back 期间将字符串发送为小写吗?

谢谢

最佳答案

你应该像这样写 if 语句 if(str[i]=='\"' or str[i]=='\'') 至于小写应该这样做它:

std::transform(str.begin(), str.end(), str.begin(), ::tolower);

关于c++ - 从字符串c++中删除单引号字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9811890/

相关文章:

c++ - while 循环遇到问题

c++ - 找出函数中变量分配类型的方法

c++ - C/C++ 中的 const 数组和静态 const 数组有什么区别

c++ - 如何在 Visual studio 2012 C++ 中暂时隐藏和取消隐藏大量注释?

C++ 14忽略接口(interface)getter中的返回类型但在实现中指定它

C++ const 对象的成员可以修改

c++ - 如何在 C++ dll 中实例化一个类,以便它在函数调用之间维护内存?

c++ - 添加到布局时 QGLWidget 崩溃

C++ 逻辑恒常性和从 const 方法按值返回

C++ 运算符 >> 重载