Russian Qt Forum

Qt => Общие вопросы => Тема начата: Belliever от Февраль 21, 2011, 17:15



Название: Удаление ASCII символов на определенной позиции при помощи QRegExp
Отправлено: Belliever от Февраль 21, 2011, 17:15
Доброго времени суток!

Подскажите, пожалуйста, как можно удалить/вырезать из строки QString некоторый набор ASCII-символов. Данные символы встречаются в тексте несколько раз. Удалить надо в определенной части строки, например в конце.

Моя задача: вырезать из строки QRegExp("\\x000D\\x000A") в конце текста.


Название: Re: Удаление ASCII символов на определенной позиции при помощи QRegExp
Отправлено: Belliever от Февраль 21, 2011, 17:30
Т.е. хотелось бы получить эмуляцию следующей несуществующий функции

QString & QString::remove (  int position, const QRegExp & rx )

где с заданной позиции posision вырезалось бы регулярное выражение QRegExp.

Но к сожалению такая функции не описана :(


Название: Re: Удаление ASCII символов на определенной позиции при помощи QRegExp
Отправлено: Пантер от Февраль 21, 2011, 17:33
Читаем ассистент:
Цитировать
$ The dollar signifies the end of the string. For example \d\s*$ will match strings which end with a digit optionally followed by whitespace. If you wish to match a literal $ you must escape it by writing \\$.


Название: Re: Удаление ASCII символов на определенной позиции при помощи QRegExp
Отправлено: Belliever от Февраль 21, 2011, 17:34
Читал, похожей функции не нашел ... ткните пожалуйста носом :)


Название: Re: Удаление ASCII символов на определенной позиции при помощи QRegExp
Отправлено: Пантер от Февраль 21, 2011, 17:47
Код
C++ (Qt)
QRegExp rx("\\x000D\\x000A\\$");
QString str = ...............
str.remove (rx);
 
Что ты не нашел?


Название: Re: Удаление ASCII символов на определенной позиции при помощи QRegExp
Отправлено: Belliever от Февраль 21, 2011, 18:39
Kiitokisa paljon! :)


Название: Re: Удаление ASCII символов на определенной позиции при помощи QRegExp
Отправлено: Пантер от Февраль 21, 2011, 19:34
Ole hyvä.