|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.09.2016, 22:27 | #1 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
Простенькая задачка - удалить из строки все не цифровые символы
Здравствуйте
Помогите пожалуйста с решением задачи Вроде простая, но что-то пошло не так Дана строка, нужно убрать с неё все НЕ цифры, оставить только цифры. Гарантировано, что там есть хотя бы одна цифра. То есть Дана строка eh65jk9dn1 Вывести надо 6591 Я делал так Код:
|
14.09.2016, 23:01 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
неверная логика.
s[i] не равно 1 ИЛИ s[i] не равно 2 допустим, у нас в s[i] цифра 1 тогда первое условие (s[i] не равно 1) - это ложь второе условие (s[i] не равно 2) - это истина ложь ИЛИ истина = ИСТИНА рассмотрите другие случаи, поймёте, что подобное логическое ВСЕГДА даст истину, для любого знака (хоть буква, хоть цифра, хоть что)! И это главная ошибка. вторая ошибка. зачем вам ДВА ЦИКЛА Цитата:
ответ - он НЕ НУЖЕН. ну и третье. и последнее. если задача стоит просто вывести цифры из строки, то это проще сделать так: Код:
|
|
14.09.2016, 23:11 | #3 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
Да, действительно, все намного проще
Большое спасибо. |
14.09.2016, 23:36 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
да, если задача стоит всё же удалять НЕ цифровые символы из строки, то я бы написал так: Код:
|
15.09.2016, 20:54 | #5 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Кстати, небольшая модификация от меня. Можно не использовать множества - вместо них воспользоваться строковым литералом, в котором записаны все символы от 0 до 9. Таким образом, строка из кода Сергея примет вид:
Код:
|
15.09.2016, 23:37 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
кстати, я опечатку в Delete допустил.
разумеется, там должно быть Delete(s,i,1) Цитата:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удалить все ненужные символы | SweetOpium | Microsoft Office Excel | 8 | 03.03.2015 17:37 |
Удалить все символы между первой и второй двокрапкой. | Wild_klas | Помощь студентам | 3 | 20.11.2010 21:57 |
Удалить в предложении все слова, имеющие символы цифр | In4ekk | Общие вопросы C/C++ | 0 | 19.10.2010 14:10 |
Удалить из строки все символы типа #10 #9 и т.д. | TwiX | Общие вопросы Delphi | 10 | 01.12.2009 19:21 |
удалить в строке все одинаковые символы | Михаил70 | Помощь студентам | 5 | 09.09.2009 18:35 |