问题是我找不到一种简单的方法来检测和替换ąčęęėįšž
Qt 中的非 ascii 字符。我从文件中读取了一行喜欢kažkodėl
并想将字符替换ž
为和。我会感谢任何帮助。ė
z
e
问问题
6612 次
2 回答
2
对于检测,您可能可以使用QChar::toAscii()
并检查结果是否为 0。
查看 的详细信息QString::toAscii()
,您实际上可能正在寻找 toLatin1() 。请注意,QString 的 toLatin1() 似乎使用了“?” 对于替换字符,而不是 QChar 的 toAscii() 的“0”。(我不确定 Qt 是否在这里错误地将 latin1 和 ascii 等同起来......但它似乎声称它在文档中)
于 2013-03-25T20:11:16.860 回答
1
由于没有真正的全面解决方案,并且您想用其他某些字符替换某些字符,所以在我看来,您想设置一个 QRegExp 搜索某些字符集,这些字符集被单个字符替换。
另外,请参阅此链接:http ://www.qtcentre.org/threads/38898-Accented-Character
编辑: QString::normalize() 做你想要的吗?请参阅此链接:从 QString 中删除重音符号
于 2013-03-25T20:31:50.333 回答