Qt 阿拉伯文本段落

Qt 阿拉伯文本段落,qt,arabic,qstring,qregexp,Qt,Arabic,Qstring,Qregexp,给定字符串: QString unformatted = "Some non arabic text" "بعض النصوص العربية" "Another non arabic text" "النص العربي آخر"; 如何使用QRegExp或其他方式获得以下结果: "<p>Some non arabic text</p>" "<p dir='rtl'>بعض النصوص العربية</p>" "&l

给定字符串:

QString unformatted =
   "Some non arabic text"
   "بعض النصوص العربية"
   "Another non arabic text"
   "النص العربي آخر";
如何使用
QRegExp
或其他方式获得以下结果:

"<p>Some non arabic text</p>"
"<p dir='rtl'>بعض النصوص العربية</p>"
"<p>Another non arabic text</p>"
"<p dir='rtl'>النص العربي آخر</p>";
“一些非阿拉伯语文本”
“

ؼ “另一个非阿拉伯语文本

” “

㶈㶈㶈㶈ع㶒㵖㵖㵖㵖㵖㵖㵖㵖

”;

谢谢

用阿拉伯语表达式分隔的函数:

QString split_arabic(QString text){
    QRegExp rx("[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF][ \u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]+");
    int pos = 0;


    QStringList list;

    while ((pos = rx.indexIn(text, pos)) != -1) {
        list << rx.cap(0);
        pos += rx.matchedLength();
    }

    for(int i=0; i < list.length(); i++){
        QString str = list.at(i);
        text.replace(str, "<p dir='rtl'>"+str+"</p>");
    }

    return text;
}
QString拆分\u阿拉伯语(QString文本){
QRegExp rx(“[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF][\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]+”;
int pos=0;
QStringList表;
而((pos=rx.indexIn(text,pos))!=-1){

列出使用正则表达式提供模式匹配的QRegExp类。正则表达式或“regexp”,是用于匹配文本中的子字符串的模式。这在许多上下文中都很有用,例如验证:regexp可以测试子字符串是否满足某些条件,例如是整数或不包含空格。搜索:regexp提供比简单子字符串匹配更强大的模式匹配,例如匹配单词mail、letter或correct中的一个搜索和替换:regexp可以用不同的子字符串替换所有出现的子字符串,例如,将所有出现的&with&;替换为&with&;,但后面已经跟有amp;。字符串拆分:regexp可用于标识字符串拆分的位置rt,例如拆分制表符分隔的字符串。请阅读:搜索[非阿拉伯语块]并替换为[非阿拉伯语块]

,搜索[阿拉伯语块]并替换为

[阿拉伯语块]

。是否可能?非常感谢@eyllanesc!
QString unformatted =
            "Some non arabic text"
            "بعض النصوص العربية"
            "Another non arabic text"
            "النص العربي آخر";


qDebug()<<unformatted;
qDebug()<<split_arabic(unformatted);
"Some non arabic textبعض النصوص العربيةAnother non arabic textالنص العربي آخر"
"Some non arabic text<p dir='rtl'>بعض النصوص العربية</p>Another non arabic text<p dir='rtl'>النص العربي آخر</p>"