Страницы: 1
RSS
Массовое удаление текста строго между 6 и 7 слэшем.
 
Здравствуйте.
Подскажите, пожалуйста, как можно массово удалить выделенный текст или заменить на пустоту. Таких комбинаций более 200 шт на 1000 строк, вручную не вариант.
Этот текст расположен строго между 6 и 7 слэшем.
https://site.com.ua/content/images/3/864x1080l80mc0/17683505398073.webp
https://site.com.ua/content/images/24/1100x685l80mc0/83080032620322.webp
https://site.com.ua/content/images/2/620x699l80mc0/12818716082411.webp
 
В названии темы - замена, в сообщении - удаление. Сами-то понимаете, что хотите?

Пример никак в файле не показать? Обязательно людей по ссылкам гонять?
 
Цитата
vikttur написал: Сами-то понимаете, что хотите?
я уж не говорю про
Цитата
dixel написал: в определенном месте
:D
По вопросам из тем форума, личку не читаю.
 
vikttur, БМВ, что вам непонятно
нужно получить такое:
https://site.com.ua/content/images/3/17683505398073.webp
https://site.com.ua/content/images/24/83080032620322.webp
https://site.com.ua/content/images/2/12818716082411.webp
 
Цитата
vikttur написал:
Обязательно людей по ссылкам гонять?
это вы о чем, по-моему вы невнимательно читаете задание. переходить по ссылках не нужно
 
Вариант 1:
Код
=ПСТР(A1;1;ПОИСК("!";ПОДСТАВИТЬ(A1;"/";"!";6))-1)&ПСТР(A1;ПОИСК("!";ПОДСТАВИТЬ(A1;"/";"!";7));999)

Вариант 2:
Код
=ПОДСТАВИТЬ(A1;ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР("/"&ПОДСТАВИТЬ(A1;"/";ПОВТОР("/";999));1;999*7);999);"/";"")&"/";"")
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
dixel, хоть бы пример в excel скинули...
Получите тогда:
удалить часть ссылки.pdf (86.61 КБ)
 
все в Word
Ищем
(https://*/*/*/*/)(*/)
Меняем на
\1
при опции поиска по маске
По вопросам из тем форума, личку не читаю.
 
Дмитрий(The_Prist) Щербаков, спасибо большое
 
Код
=ОБЪЕДИНИТЬ("/";0;ЕСЛИОШИБКА(ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(A1;"/";"</i><i>")&"</i></j>";"//i[position()<7]");""))&"/"&ОБЪЕДИНИТЬ("/";1;ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(A1;"/";"</i><i>")&"</i></j>";"//i[position()>7]"))
 
Цитата
dixel написал: по-моему вы невнимательно читаете задание
Здесь не задания раздают, а за помощью заходят.
И читаю внимательно:
Цитата
dixel написал: Массовая замена
массово удалить
И не надо писать "для модератора", не для моего удобства это, надо писать правильно

Цитата
dixel написал: переходить по ссылках не нужно
У меня отображение такое

начала понял как ссылки
Если Вы до сих пор не поняли: примеры надо показывать в формате Excel
 
=TRIM(LEFT(SUBSTITUTE(A2;"/";REPT(" ";LEN(A2));6);LEN(A2)))&"/"&TRIM(RIGHT(SUBSTITUTE(A2;"/";REPT(" ";LEN(A2));7);LEN(A2)))
=SUBSTITUTE((LEFT(SUBSTITUTE(A2;"/";REPT(" ";LEN(A2));6);LEN(A2)))&"/"&RIGHT(SUBSTITUTE(A2;"/";REPT(" ";LEN(A2));7);LEN(A2));" ";)
=SUBSTITUTE(REPLACE(SUBSTITUTE(SUBSTITUTE(A2;"/";REPT(" ";LEN(A2));6);"/";REPT(" ";LEN(A2));6);LEN(A2);LEN(A2);"/");" ";)
По вопросам из тем форума, личку не читаю.
 
Цитата
dixel написал: невнимательно читаете
там кстати где-то что-то в правилах про файлы примеров можно прочитать.
Код
=ПОДСТАВИТЬ(A1;ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(A1;"/";"</i><i>")&"</i></j>";"//i[position()=7]")&"/";"")

Тимофеев, вижу ваш ответ выше. Я кстати именно благодаря вашим ответам тут на форуме полез разбираться с ФИЛЬТР.XML
Мощная штука
 
Цитата
andylu написал: Мощная штука
но тормознутаяяяя :-)

кстати если между 6 и 7 удалить , то  будет два  слэша подряд, что некорректно.
По вопросам из тем форума, личку не читаю.
 
Простая штука, как вариант (если справа от удаляемого фрагмента количество символов одинаковое):
=ЛЕВБ(A2;ПОИСК("|";ПОДСТАВИТЬ(A2;"/";"|";6))-1)&ПРАВБ(A2;20)
Формулу писал в файле из сообщения БМВ (напоминание автору о файле-примере)
 
Вариант с UDF
 
Цитата
строго между 6 и 7 слэшем
Код
Sub GetSlesh6_7()
Dim mo As Object
Dim n As Integer
Dim i As Long
Dim iLastRow As Long
 iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
With CreateObject("VBScript.RegExp")
  .Global = True
  .Pattern = "[^/]+"
  For i = 1 To iLastRow
    If .Test(Cells(i, "A")) Then
      Set mo = .Execute(Cells(i, "A"))
      If mo.Count >= 7 Then
         Cells(i, "D") = Replace(Cells(i, "A"), mo(5) & "/", "")
      End If
    End If
  Next
End With
End Sub
Страницы: 1
Наверх