Удаление из текста всех символов, кроме трехзначных чисел.

Тема в разделе "Visual Basic", создана пользователем Esper, 19 окт 2010.

  1. Esper

    Esper Гость

    Репутация:
    0
    Нужно удалить из текста символы, не являющиеся трехзначными числами.
    Вот мой вариант, но цикл проходит только один раз. Можете ли подсказать, в чем ошибка?(кроме тупости самого способа решения :blush: ) И можно ли довести код до рабочего состояния...

    Код (Text):
     'здесь был плохой код )
     
  2. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.434
    Симпатии:
    39
    ох мать моя женщина.
    А просто найти все числа >99 AND <1000 никак?
     
  3. Esper

    Esper Гость

    Репутация:
    0
    запись типа 031 или 004 тоже следует рассматривать как трехзначное число... :blush:
     
  4. Vlanib

    Vlanib Гость

    Репутация:
    0
    А эти числа разделены как-то? Или могут быть любые символы справа слева без пробелов?
     
  5. Esper

    Esper Гость

    Репутация:
    0
    Могут быть любые символы... И с пробелами, и без...
     
  6. Esper

    Esper Гость

    Репутация:
    0
    Например: dfjg234nd55846/. hfhfпр оаппа567...
    и результатом соответственно должно быть: 234567
     
  7. Esper

    Esper Гость

    Репутация:
    0
    ответила выше...
     
  8. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.445
    Симпатии:
    8
    ммм... мб, лучше просмотреть с конца строки?
    если не цифра - сразу удалять, если s(n), т.е. n-й символ цифра - просмотреть символы впереди (если s(n), s(n-1), s(n-2) - цифры, а n-2 = 1 (начало строки) или s(n-3) - не цифра - оставляем, иначе убиваем всё идущие подряд цифры (s(n)...s(i), i<=n), затем и идущие перед ними нечисловые (s(i-1)...) до тех пор, пока не встретится цифра или строка не закончится.
    Встретили цифру s(k) - проверяем символы впереди, как описано выше - (оставляем, если s(k), s(k-1), s(k-2) - цифры, а перед ним не цифра или s(k-2) - начало строки).

    Добавлено: кстати, в чем глубокий смысл
     
  9. Esper

    Esper Гость

    Репутация:
    0
    :wacko: смысл понятен...а вот его реализация... :blush:

    ;) смысл в r=r, видимо, настолько глубоко, что даже мне не открывается...)))))
     
  10. Esper

    Esper Гость

    Репутация:
    0
    и как "зафиксировать" программно тот момент, когда нужно проверять длину строки из цифр? т.е момент перехода в исходной строке от группы цифр к другим символам...
     
  11. Esper

    Esper Гость

    Репутация:
    0
    Усё, задача решена... Cделала по-своему, изменив свой цикл при помощи like... )) Но всё равно спасибо всем за участие :(
     
Загрузка...

Поделиться этой страницей