您的位置:首页 > 编程语言 > C语言/C++

C++ 处理中文符号实例详解

2017-01-17 14:21 417 查看

C++ 处理中文符号

英文符号替换为英文逗号

processPunctuation(string& tag)
{
std::set<char> punctuation_set;
punctuation_set.insert(' ');
punctuation_set.insert('\t');
punctuation_set.insert(';');
for (int i=0; i< tag.size(); i++) {
if (punctuation_set.find(tag[i]) != punctuation_set.end())
{
tag[i] = ',';
}
}
return;
}

中文逗号替换为英文逗号

processChinesePunctuation(string& tag)
{
string u8comma = u8",";
for (int i = 0; i < tag.size() - u8comma.size() + 1; i++)
{
bool find = true;
// 查找空格依赖于 UTF-8 的特性
for (int j = 0; j < u8comma.size(); j++)
{
if (tag[i + j] != u8comma[j])
{
find = false;
break;
}
}
if (find)
{
// 替换为 ,
tag[i] = ',';
auto it = tag.begin();
it += i + 1;
for (int j = 1; j < u8comma.size(); j++)
it = tag.erase(it);
}
}
return;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 中文符合