欢迎来到入门教程网!

C语言

当前位置:主页 > 软件编程 > C语言 >

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

来源:本站原创|时间:2020-01-10|栏目:C语言|点击:

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;
}


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

上一篇:Species Tree 利用HashTable实现实例代码

栏    目:C语言

下一篇:c# 实现获取汉字十六进制Unicode编码字符串的实例

本文标题:C++ 处理中文符号实例详解

本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/1787.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有