Ниже приведен фрагмент кода, в котором мне удалось удалить некоторые escape-символы. Но проблема в том, что я не могу удалить символы Unicode из заданной строки NewOutput, прочитанной из ParseLine(). Также я хочу подсчитать количество строк, содержащих unicode.Удалить символы Unicode из строки
Например строка NewOutput есть 3 строки, как:
@ KayKay121 потащил меня в библиотеку. Теперь я должен быть продуктивным \ ud83d \ udc94 https://t.co/HjZR3d5QaQ (timestamp: Thu Oct 29 17:51:50 +0000 2015)
6A решил отложить окончательное голосование до тех пор, пока исполнительные органы не услышат апелляции. Что кажется установленным: 7 регионов. (временная дата: чт 29 октября 17:51:51 +0000 2015)
@i_am_sknapp Спасибо, что следите за нами, Сет. (timestamp: Thu Oct 29 18:10:49 +0000 2015)
Было бы здорово помочь мне :) Спасибо !!!
if (readtweetfile.is_open())
{
while (!readtweetfile.eof())
{
getline(readtweetfile,output);
ParseLine(output,NewOutput);
std::string unicod_string = output;
if(NewOutput!=" ")
{
std::string firstChar="Check";
std::string secondChar;
std::string checkingChar="";
for (std::string::iterator it = NewOutput.begin(), end = NewOutput.end(); it != end; ++it)
{
if(firstChar=="Check")
firstChar = *it;
else
{
secondChar = *it;
checkingChar = firstChar + secondChar;
if(checkingChar=="\\\"")
{
writetweetfile << secondChar ;
firstChar="Check";
continue;
}
else if(checkingChar=="\\/")
{
writetweetfile << secondChar;
firstChar="Check";
continue;
}
else if(checkingChar=="\\\'")
{
writetweetfile << secondChar;
firstChar="Check";
continue;
}
else if(checkingChar=="\\\n")
{
writetweetfile << " " ;
firstChar="Check";
continue;
}
else if(checkingChar=="\\\t")
{
writetweetfile << " ";
firstChar="Check";
continue;
}
else if(checkingChar=="\\ ")
{
writetweetfile << " ";
firstChar="Check";
continue;
}
else if(checkingChar=="\\\\")
{
writetweetfile << secondChar;
firstChar="Check";
continue;
}
else if(checkingChar=="\\u")
{
writetweetfile << "unicode";
firstChar="Check";
continue;
}
writetweetfile << firstChar;
firstChar=secondChar;
}
}
}
writetweetfile << std::endl;
}
}
Где вы берете эти строки? Сохранен ли этот файл в каком-то формате? Например. если файл JSON, просто используйте парсер JSON, он будет декодировать эти escape-последовательности. Во-вторых, '\ ud83d \ udc94' является суррогатной парой (возможно, для эможи) для одного персонажа. – roeland