Удаление всех НЕ букв в строке |
Здравствуйте, гость ( Вход | Регистрация )
Удаление всех НЕ букв в строке |
RazrFalcon |
14.1.2011, 0:36
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Нужно удалить все что не буквы aka [a-zA-Z]
Вот только смог str.remove(QRegExp("[^a-zA-Z]")); а как сделать обратное? |
|
|
sidsukana |
14.1.2011, 0:40
Сообщение
#2
|
Участник Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: 2 |
str.remove(QRegExp("[^0-9]")); Не катит?
|
|
|
RazrFalcon |
14.1.2011, 1:18
Сообщение
#3
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Я так понимаю это удалит цифры?!
А мне нужно всякие ;/"!@#$%^& |
|
|
silver47 |
14.1.2011, 8:13
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
|
|
|
RazrFalcon |
14.1.2011, 13:47
Сообщение
#5
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
проблема в том, что это огромный файл (0.5-2мб). Циклом будет 100 лет проверять.
Пробовал как обычно str.remove("/").remove(".")..... ; и для всех не нужных символов так. но виглядит это как то не труЪ. |
|
|
Гость_RustNail_* |
14.1.2011, 14:13
Сообщение
#6
|
Гости |
вариант QRegExp("\W") не подойдет?
\w Matches a word character (QChar::isLetterOrNumber(), QChar::isMark(), or '_'). \W Matches a non-word character. |
|
|
RazrFalcon |
14.1.2011, 14:50
Сообщение
#7
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Странно
ничего не делает, зато удаляет все буквы и цифры!Что за? К слову в моем случае выводит 1069 =/ в моем случае выводит 0 =/
Сообщение отредактировал RazrFalcon - 14.1.2011, 14:51 |
|
|
kwisp |
14.1.2011, 14:56
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
RazrFalcon,
в С++ символ '\' экранирующий и чтоб его ввести в программу нужно его же заэкранировать. в первом случае ты сделал регулярное выражение заэкранировав 'w' - что оно обозначет я не знаю. во втором случае ты заэкранировал '\' и получил регулярное выражение которое как ты и хотел обозначает все буквы и цифры. |
|
|
RazrFalcon |
14.1.2011, 15:13
Сообщение
#9
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Ясно....
Так как надо записать, я не понял =/ |
|
|
Гость_RustNail_* |
14.1.2011, 15:14
Сообщение
#10
|
Гости |
str.count(QRegExp("\\W"));
и чтобы удалить еще и цифры QRegExp("\\d") |
|
|
Текстовая версия | Сейчас: 26.12.2024, 19:01 |