我正在尝试从 vector 中的字符串中删除特殊字符。我在如何准确删除特殊字符方面遇到了问题。我有一个 vector 词;其中包含纯文本中的单词,我想删除特殊字符,例如 ?!.,;
等,还要删除空格。
最佳答案
一遍又一遍地删除单个字符并不是很快。该任务可以通过创建新字符串并向其添加非特殊字符来完成:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<string> words;
words.push_back("");
words.push_back("452346457");
words.push_back(",.,;,;.;,;.;.?");
words.push_back(";m;,./,/;,m;m,/,./,;");
string special = string("?:,.;");
for (string::size_type i = 0; i < words.size(); ++i)
{
string temp = words[i];
words[i] = "";
for (string::size_type j = 0; j < temp.size(); ++j)
{
if (special.find(temp[j]) == string::npos)
{
words[i] += temp[j];
}
}
}
for (string::size_type i = 0; i < words.size(); ++i)
{
cout << "\"" << words[i] << "\"\n";
}
}
注意非常有用的用法 find功能。
关于c++ - 从字符串 vector 中删除特殊字符 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31294795/