Как сопоставить каждую строку позади ":"? Например: хотите сопоставить «3.23423» в «roll: 3.23423» или «true» в «smth: true».Как совместить строку за символом в QT с помощью RegExp?
-4
A
ответ
2
Попробуйте это:
QRegExp rx("[a-z]+\:.+");
QString ss = "roll:3.23423";
int poss = 0;
while ((poss = rx.indexIn(ss, poss)) != -1) {
qDebug()<< rx.cap(0).split(":").last();
poss += rx.matchedLength();
}
Выход:
"3.23423"
Но один человек сказал мне, что split()
может быть медленным, так что вы можете использовать также:
QRegExp rx("[a-z]+\:.+");
QString ss = "roll:3.23423";
int poss = 0;
while ((poss = rx.indexIn(ss, poss)) != -1) {
QString g = rx.cap(0);
int p = rx.cap(0).indexOf(":");
qDebug()<< g.mid(p+1);
poss += rx.matchedLength();
}
Это должно быть Быстрее.
Обновление (до). Используйте этот цикл:
while ((poss = rx.indexIn(ss, poss)) != -1) {
QString g = rx.cap(0);
int p = rx.cap(0).lastIndexOf(":");
qDebug()<< g.mid(0,p);
poss += rx.matchedLength();
}
+0
thnx! как я могу получить строку перед «:»? – user1824542
+0
@ пользователь1824542 смотрите мой редактирование пожалуйста. – Chernobyl
Смежные вопросы
- 1. Как совместить часть строки с помощью regexp
- 2. Как совместить строку в строке с немедленным специальным символом?
- 3. Как совместить строку с символом подстановки в java
- 4. Как совместить строку с экранированным символом цитаты в MySQL?
- 5. SQL regexp с числами и символом%
- 6. Как совместить \ n в конце переменной с помощью regexp
- 7. Как совместить идентификационный номер с CSS regexp
- 8. Как совместить несколько подстрок, разделенных символом?
- 9. Как совместить все возможные совпадения с RegExp?
- 10. Как получить специальную строку с помощью RegExp?
- 11. Соответствие слова с символом точки с помощью regexp javascript
- 12. Как совместить строку с необязательной частью?
- 13. Regexp: подстрока, не сопровождаемая символом
- 14. pexpect: Как совместить строку
- 15. MySQL переупорядочивает строку с помощью regexp?
- 16. Соответствующие строки Regexp с максимальным одним символом
- 17. Golang regexp Граница с латинским символом
- 18. Как сравнить строку с символом «\»
- 19. Regexp - Как совместить все слова, кроме строгих?
- 20. Как совместить код символа кода юникода 12288 с использованием regexp
- 21. Qt - Разделить и использовать строку из строкиEdit как regExp
- 22. Как совместить строку?
- 23. Как совместить пустую строку
- 24. Как совместить строку, используя,
- 25. Как совместить строку с номером в VBA
- 26. Как заменить строку в javascript с помощью RegExp?
- 27. Как разбить строку в javascript с помощью RegExp?
- 28. Как вырезать строку в pl sql с помощью regexp?
- 29. Как преобразовать строку в действительный список html с помощью regexp
- 30. Как отделить строку символом?
Что вы попробовали? – Silicomancer
используйте lookbehind '(? <=:) \ S +' или '(? <=:). *' –
(? <=:) \ S + или (? <=:). * Не работает – user1824542