QRegExp + \n, Регулярка с символом конца строки |
Здравствуйте, гость ( Вход | Регистрация )
QRegExp + \n, Регулярка с символом конца строки |
lioncub |
13.11.2009, 17:07
Сообщение
#1
|
Студент Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: 0 |
Имею строку QString str:
код:
на выходе получаю один элемент с последними 2 символами: "rs" А нужно последние 2 символа каждой строки для каждого элемента. Что не так? зы Кодировка utf-8 везде. Конец строки \n. |
|
|
lioncub |
13.11.2009, 17:53
Сообщение
#2
|
Студент Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: 0 |
или из QString str = "=abcd\n=d-0efg\n=g?hij\n=jklm\n=mnop\n=pqr+s\n";
все символы между = и \n |
|
|
Litkevich Yuriy |
13.11.2009, 17:56
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
kwisp |
13.11.2009, 18:04
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
lioncub,
к примеру или из QString str = "=abcd\n=d-0efg\n=g?hij\n=jklm\n=mnop\n=pqr+s\n"; все символы между = и \n с помощью QString::split() легко сделать.
как то так. Сообщение отредактировал kwisp - 13.11.2009, 18:10 |
|
|
lioncub |
13.11.2009, 18:19
Сообщение
#5
|
Студент Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: 0 |
Litkevich Yuriy, т.е. новая строка
QString::split() - не подойдет, это простейший пример... ответ на 1 вопрос ".([^\\n].)\\n" ответ на 2 вопрос "=([^\\n]*)\\n" |
|
|
kwisp |
13.11.2009, 18:26
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
lioncub |
13.11.2009, 18:50
Сообщение
#7
|
Студент Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: 0 |
пожалуйста, если интересно:
Раскрывающийся текст [996] num=9 pic=Z0RVh0Q29tbWVud [375.Velcite] encoding=cp1251 key1=sdfcvsdva key2=sdfsdcvsd maxs=sdfsdfaxcvsdvg no=sdfsdafsdfa pic=dclmf;x picl=sdffvasdfvsdv cv post=1 ppict=1 [3.Trne.ytr] encoding=utf-8 key1=sdfcvsdva key2=sdfsdcvsd maxs=sdfsdfaxcvsdvg no=sdfsdafsdfa pic=dclmf;x picl=sdffvasdfvsdv cv post=1 [5] num=10 pic=ecmle;x вот небольшой кусочек файла txt... кодировка utf8, перевод строки \r\n как видно в файле есть "болки", нужно вытащить, из тех болков которые начинаются на [только_цифры] (выделил синим) кусок после pic= (выделил красным) таких блоков много.... я думаю, разделить сначала на блоки, а потом взять то, что мне нужно! ну а если одним регеспом, то это высший пилотаж... |
|
|
kwisp |
16.11.2009, 11:27
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
извини, только случайно обнаружил последнее сообщение.
почемуто у меня отображалось что в этой теме нет новых сообщений. ??? Сообщение отредактировал kwisp - 16.11.2009, 11:28 |
|
|
kwisp |
16.11.2009, 12:42
Сообщение
#9
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
вот
QRegExp reg("(\\[\\d+\\])(.*)(pic=)([^\"]+)([\\W+])"); думаю разберешься. в 4ой круглой скобке(она определяет чему может быть равно pic) сам поставишь, я влепил "все кроме ковычки" я не знаю какое у тебя полное условие может "все кроме пробелов и проч." пользоваться с помощью indexIn() и cap() |
|
|
kuzulis |
16.11.2009, 16:11
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Так это ж "галимый" *.ini файл... Может просто QSettings использовать для чтения?
|
|
|
Текстовая версия | Сейчас: 28.3.2024, 18:45 |