【发布时间】:2014-03-24 15:12:54
【问题描述】:
我正在编写一个应用程序,将 .txt 文件转换为词袋以进行文本挖掘。但是,即使我的应用程序过滤了非字母字符,我也会不断收到非字母字符(如 ¾ 和 =):
我的向量通过一个循环,该循环擦除以字符开头的字符串,该字符的 ASCII 值不是 [65,90](从 A 到 Z)。这些字符也通过了 isalpha 测试。这些字符似乎无法与字母字符区分开来。
我不知道如何从我的字符串向量中动态删除这些奇怪的字符串。我需要帮助。
我的代码,因为它对于论坛帖子来说很长。
我的这部分代码未能摆脱以非字母字符开头的字符串:
for (unsigned int i=0; i<token24.size();i++){
string temp = token24[i];
char c = temp[0];
if(c>90||c<65){
token24.erase(token24.begin()+i);
i--;
}
}
我也试过条件
(c>'Z'||c<'A')
【问题讨论】:
-
您至少需要包含相关的代码部分;查看您的代码未正确处理的文本示例也将有所帮助。
-
您应该展示一些真实的代码并解释您的程序的逻辑,例如用于读取文件的编码是什么以及如何检测到它。
-
我的这部分代码无法摆脱以非字母字符开头的字符串: for (unsigned int i=0; i
90||c -
请将代码放在您的帖子中,而不是在评论中。
标签: c++ string parsing char ascii