crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Регулярные выражения
larry
  опции профиля:
сообщение 20.6.2015, 8:53
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 55
Регистрация: 16.12.2010
Пользователь №: 2274

Спасибо сказали: 8 раз(а)




Репутация:   0  


Добрый день, форумчане.
Помогите пожалуйста разбить строку регулярным выражением.
Вот строка (координаты точек):
(50.556228,30.823051),(50.556190,30.822988),(50.556163,30.823030),(50.556201,30.
823089)

QStringList list;

list = str.split(QRegExp("\\d+.\\d+"));
    
foreach (QString coord, list)
{
        qDebug() << coord
}


Выражение правильно работает, т.е. удаляет все координаты :rolleyes: и оставляет только скобки и запятые. А как здесь задать, чтобы наоборот все было?
Пробовал в начале ставить ^, но не помагает. Подскажите плиз, как сделать. Нужно получить список координат. Спасибо.

поменял выражение на
QRegExp("[^\\d+.\\d+]")

но при выводе появляются какие-то пустые строки:
Раскрывающийся текст
""
"50.556228"
"30.823051"
""
""
"50.556190"
"30.822988"
""
""
"50.556163"
"30.823030"
""
""
"50.556201"
"30.823089"
""


Можно как-то сделать, чтобы пустых строк не было? Конечно не проблема написать
foreach (QString coord, list)
{
    if(!coord.isEmpty())
        qDebug() << coord;
}


но как-то мне кажется не правильно. Спасибо.

Сообщение отредактировал larry - 20.6.2015, 8:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
larry
  опции профиля:
сообщение 21.6.2015, 9:18
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 55
Регистрация: 16.12.2010
Пользователь №: 2274

Спасибо сказали: 8 раз(а)




Репутация:   0  


Iron Bug
Спасибо большое за подсказку, действительно не в ту сторону посмотрел. QRegExp::cap(int) это то, что нужно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 5.12.2024, 5:53