@mat0thew

Как разбить строку на отдельные массивы?

Имею вот такой код.

QRegExp rx("(\\\n|\\:|\\;)");
QString myString("login@mail.ru;pass\nlogin2@mail.ru;pass2\nlia@dll:pass3");

QStringList myStringList = myString.split(rx);

for (int index = 0; index < myStringList.length(); index++)
{
    std::cout << "[" << index << "] " << myStringList.at(index).toStdString() << std::endl;
}

На выходе получаю вот такое:
rvnbs.png
Задача состоит в том, чтобы получить массив такого вида:

[0][1] login@mail.ru
[0][2] pass
[1][1] login2@mail.ru
[1][2] pass2
  • Вопрос задан
  • 378 просмотров
Пригласить эксперта
Ответы на вопрос 1
rmaksim
@rmaksim
не знаю как там на С++, но коль это алгоритмы - то на javascipt это было бы например так
var str = "login@mail.ru;pass\nlogin2@mail.ru;pass2\nlia@dll:pass3"
var arr = str.split("\n").map(function(x){return x.split(/;|:/)})

т.е. сначала разбить по "\n", получим один массив с мылом и паролем
а потом соотв. каждый такой элемент разбиваем по ":" или ";"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы