Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Удаление текста после второго вхождения символа справа
 
Подскажите пожалуйста с задачей.
Есть текст вида:
Выдра_ в_ведро_от_выдры_нырнул
Нужно чтобы получилось
Выдра_ в_ведро_от
То есть требуется найти второе вхождение символа "_" справа и удалить всё что идёт после него, включая сам символ.
 
Так можно:
=ЛЕВСИМВ(B3;ПОИСК("@@";ПОДСТАВИТЬ(B3;"_";"@@";ДЛСТР(B3)-ДЛСТР(ПОДСТАВИТЬ(B3;"_";""))-1))-1)
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
=TRIM(LEFT(SUBSTITUTE(A1;"_";REPT(" ";999);LEN(A1)-LEN(SUBSTITUTE(A1;"_";))-1);999))

после второго вхождения символа справа,  - это предпоследнее вхождение всеж, просто в том варианте приводит к варианту
Выдра_ в_ . Именно удаление текста справа, после второго вхождение символа.
Изменено: БМВ - 14 Июн 2019 13:43:59
 
Спасибо большое, работает!
 
Код
=ЛЕВБ(C1;НАИБОЛЬШИЙ((ПСТР(C1;СТРОКА(2:99);1)="_")*СТРОКА(1:98);2))
Массивная (Ctrl+Shift+Enter)
 
Светлый,  Скучно в Миру? :-)
Несмотря на краткость, производительность то будет скорее всего хуже.
 
Код
Function DelText(r As Range, Optional sSepar As String = "_") As String
    DelText = Left$(r.Value, InStrRev(r.Value, sSepar, InStrRev(r.Value, sSepar) - 1) - 1)
End Function
Страницы: 1
Читают тему (гостей: 1)
Наверх