C++ 处理中文符号
英文符号替换为英文逗号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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 ;
}
|
中文逗号替换为英文逗号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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 ;
}
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!