Страницы: 1
RSS
Как достать из текста фрагмент с цифрами
 
Подскажите пожалуйста как вытянуть внутри символов цифры. Вот пример
чвспававтрать/353636363636?прпарапрарар
Должно остаться 353636363636 или хотя бы /353636363636?  

Спасибо  
Изменено: Igor89 - 13.03.2018 18:25:40
 
Длина текста до числа одинакова? Длина числа одинакова?
Разделитель перед числом? Разделитель после числа?

Нужно показывать не одно значение, а несколько разных вариантов.
Прикрепите файл-пример к первому сообщению.
 
Код
=ПСТР(A1;ПОИСК("/";A1)+1;ПОИСК("~?";A1)-ПОИСК("/";A1)-1)
 
Я решил проблему с помощью
1. Выделить диапазон ячеек для замены
2. Ctrl+H. Найти - "*/", заменить на (оставить поле пустым)
3. Ctrl+H. Найти - "~?*", заменить на (оставить поле пустым)
 
Цитата
Igor89 написал: решил проблему
Как говорят - дешево и сердито, похвально!
ps Но надо всегда помнить - есть на форуме Поиск, "Приемы", "Копилка", "PLEX" и пр.пр. - арсенал внушительный, бери - пользуйся... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Цитата
Должно остаться 353636363636
UDF
Код
Function iChislo(cell$) As String
 With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = True
     .Pattern = "\d+(?=\?)"
     iChislo = .Execute(cell)(0)
 End With
End Function
 
Расскажите пожалуйста, куда этот код вставлять.
 
Цитата
куда этот код вставлять.
В стандартный модуль
 
=СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(A1;ПОИСК("~?";A1)-1);"/";ПОВТОР(" ";50));50))
 
Igor89,еще вариант функции (UDF)в D1,доступ к тексту функции,как вариант( Вид-Макросы-Изменить)
Код
 Function Myfunction(text$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\D+": .Global = True
    Myfunction = .Replace(text, "")
 End With
End Function
Изменено: кузя1972 - 13.03.2018 19:31:34
 
Спасибо большое
 
Сократим шаблон:
Код
.Pattern = "\D"
Страницы: 1
Наверх