我想用正则表达式验证QLineEdit的文本.它应该允许从a到z的字符加上A到Z加上土耳其字符(ğüşöçİĞÜŞÖÇ)加上0到9之间的数字.我搜索了我的问题并找到了两个解决方案,但两个都没有为我工作.在一个解决方案中它说"在regexp中包含土耳其字符",在另一个解决方案中它说"使用土耳其字符的unicodes"
下面是两个reqular表达式
QRegExp exp = QRegExp("^[a-zA-Z0-9?ü?öç??Ü?ÖÇ]+$");
QRegExp exp = QRegExp("^[a-zA-Z0-9\u00E7\u011F\u0131\u015F\u00F6\u00FC\u00C7\u011E\u0130\u015E\u00D6\u00DC]+$");
Run Code Online (Sandbox Code Playgroud)
上面的reqular表达式都不能验证名称'İSMAİL'.此外,我试过一个文本只包含土耳其字符('ğüşöçİĞÜŞÖÇ')但它无法验证.当我从两个文本中删除"İ"字符时,可以对其进行验证.我想问题可能与'İ'字符有关.
我该如何解决这个问题?
注意:我们在项目中使用Qt 4.6.3.
我有一个问题,我需要在C++源代码中使用标准字符类型的UTF-8编码字符串,如下所示:
char* twochars = "\xe6\x97\xa5\xd1\x88";
Run Code Online (Sandbox Code Playgroud)
通常,如果我想写一个UTF-8字符,我需要使用上面的八位字节.Visual Studio中有什么东西(我使用VS 2013 Ultimate)可以让我只编写例如"ĄĘĆŻ"并自动将每个字符转换为多个UTF-8八位字节,如上例所示?或者我应该使用const wchar_t*并找到一个可以将宽字符串转换为UTF-8编码的标准字符串字符串的库?
如果没有这样的东西,你能为此建议任何外部软件吗?我真的不想浏览每个符号/非拉丁字母的字符映射.
对不起我的英文,提前致谢.
我正在使用QT Creator,创建了一个控制台应用程序.一切都是最新的.操作系统是Windows XP.
我创建了一个包含匈牙利字符的QString.大多数匈牙利字符不需要unicode,但是带有双斜线的字符需要unicode.
我尝试将QString内容写入文件,但我的unicode字符在文件中丢失了重音符号.换句话说,unicode信息在此过程中丢失了.
我的代码是吼叫.
#include <QtCore/QCoreApplication>
#include <QString>
#include <QTextStream>
#include <QDate>
#include <QFile>
using namespace std;
int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    QString szqLine = "NON-UnicodeIsOK: áéüúöóí NEED-Unicode: ??";
    //These are Hungarian chars and require unicode. Actually, only the u & o, each having double
    //slashes for eccents require unicode encoding.
    //Open file for writing unicode chars to.
    QFile file("out.txt");
    if ( !file.open(QIODevice::WriteOnly | QIODevice::Text) ){
        return 1;
    }
    //Stream the QString text to …Run Code Online (Sandbox Code Playgroud) 我有一个关于C++中字符串的字母顺序的问题.我们说我有两个字符串:
    string x="asd123";
    string y="asd136";
Run Code Online (Sandbox Code Playgroud)
我们可以用<或>运算符比较这些字符串吗?例如:我们可以说
    if(x>y)
    cout<<".....";
Run Code Online (Sandbox Code Playgroud)
这总是有效吗?谢谢.