Al go для разбиения QString по заданному номеру, без разбивки слов в Qt C ++ - PullRequest
0 голосов
/ 04 апреля 2020

У меня длинная строка с содержательными предложениями. Я хочу разделить его на заданное количество символов, которые будет удерживать деталь, не разбивая последнее слово части.

Я написал al go, который разбивает строку отлично, но слова в частях смешиваются и в случайном месте Я нашел python код для того же, но не смог перенести его на c ++

1 Ответ

1 голос
/ 05 апреля 2020

На основании предложения @scheff предложенное им решение о добавлении --i для обновления значения i в первую очередь для l oop окончательного кода работ приведено ниже для будущего.

QString str = "कोरोना वायरस के संक्रमण से स्पेन में शुक्रवार 932 लोगों की मौत हुई. इसके साथ ही स्पेन में मरने वालों की कुल 
               संख्या 10 हज़ार 935 पहुंच गई है. इटली के बाद स्पेन दुनिया का दूसरा देश है जहां कोरोना वायरस से सबसे ज़्यादा मौतें हुई हैं.";
int m = 30;
QStringList words = str.split(" ");
QStringList result;
 while(words.isEmpty()==false){
    QString strPart;
    if(QString(words.join(" ")).length()>m){
        for (int i = 0; i < words.count(); i++) {
            if(strPart.count()<m){
                strPart.append(words.at(i)+" ");
                words.removeAt(i);
                --i; // updated here
            }
        }
    }else if(QString(words.join(" ")).length()<m){
             strPart.append(words.join(" "));
             words.clear();
    }
    result.append(strPart);
 }
qDebug() <<result;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...