![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
lioncub |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
Имею строку QString str:
код:
на выходе получаю один элемент с последними 2 символами: "rs" А нужно последние 2 символа каждой строки для каждого элемента. Что не так? зы Кодировка utf-8 везде. Конец строки \n. |
|
|
![]() |
lioncub |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
или из QString str = "=abcd\n=d-0efg\n=g?hij\n=jklm\n=mnop\n=pqr+s\n";
все символы между = и \n |
|
|
Litkevich Yuriy |
![]()
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kwisp |
![]()
Сообщение
#4
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
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 |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
Litkevich Yuriy, т.е. новая строка
QString::split() - не подойдет, это простейший пример... ответ на 1 вопрос ".([^\\n].)\\n" ответ на 2 вопрос "=([^\\n]*)\\n" |
|
|
kwisp |
![]()
Сообщение
#6
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
lioncub |
![]()
Сообщение
#7
|
Студент ![]() Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
пожалуйста, если интересно:
Раскрывающийся текст [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 |
![]()
Сообщение
#8
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
извини, только случайно обнаружил последнее сообщение.
почемуто у меня отображалось что в этой теме нет новых сообщений. ??? Сообщение отредактировал kwisp - 16.11.2009, 11:28 |
|
|
kwisp |
![]()
Сообщение
#9
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
вот
QRegExp reg("(\\[\\d+\\])(.*)(pic=)([^\"]+)([\\W+])"); думаю разберешься. в 4ой круглой скобке(она определяет чему может быть равно pic) сам поставишь, я влепил "все кроме ковычки" я не знаю какое у тебя полное условие может "все кроме пробелов и проч." пользоваться с помощью indexIn() и cap() |
|
|
kuzulis |
![]()
Сообщение
#10
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
Так это ж "галимый" *.ini файл... Может просто QSettings использовать для чтения?
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#11
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Kagami |
![]()
Сообщение
#12
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: ![]() ![]() ![]() |
Проще открыть и читать его прострочно, анализируя структуру.
|
|
|
lioncub |
![]()
Сообщение
#13
|
Студент ![]() Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
kwisp, не много не то, но мысль понял....
|
|
|
kwisp |
![]()
Сообщение
#14
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
lioncub,
нет, брат, давай разберёмся основательно. выкладывай что ты хочеешь от регулярного выражения? |
|
|
lioncub |
![]()
Сообщение
#15
|
Студент ![]() Группа: Участник Сообщений: 28 Регистрация: 10.11.2009 Пользователь №: 1220 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
kwisp, впринципе вот тут все описал с примером.
По твоему выражению, у тебя второе совпадение берет все символы, до конца файла, и получается на выходе в 4 совпадении будет последняя из "pic=" строка. 5-ое совпадение, нужно исключая \\n (ты об этом и написал, поставить, что нужно вместо "). |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 27.6.2025, 13:56 |