0

如何确定 QString 中的特定字符是否是任何语言的字母或标点符号?

例如,我想找到.ingâteau.但不是â.

4

2 回答 2

4

尝试

str.at(i).isLetter()

对于 unicode 类 Letter_Uppercase/Lowercase/Titlecase/Modifier/Other,它将返回 true。你可以在这里看到:

http://www.sql-und-xml.de/unicode-database/lu.html

http://www.sql-und-xml.de/unicode-database/ll.html

http://www.sql-und-xml.de/unicode-database/lt.html

http://www.sql-und-xml.de/unicode-database/lm.html

http://www.sql-und-xml.de/unicode-database/lo.html

于 2012-04-19T15:51:42.767 回答
2

您可以使用 at() 从 QString 中获取 QChar,并且 QChar 具有 isLetter() 函数。因此,你想要这样的东西:

QString myString;
if (myString.at(3).isLetter()) {
   qDebug() << "letter number 4 in the string is a letter";
}
于 2012-04-19T15:48:54.007 回答