Войти

Показать полную графическую версию : [решено] Сделать замену в строке, если в этой строке найден набор символов


Alexander_88
22-02-2024, 05:12
Здравствуйте. Подскажите, как можно сделать замену в строке, если в этой строке найден один из перечисленных мною наборов символов?..

В текстовом файле есть много ссылок, В каждой строке по одной ссылке. Нужно проверить, есть ли в строке хотя бы один вариант набора символов (нужно указать несколько вариантов). Если он есть, то в этой ссылке необходимо изменить произвести замену текста..

пример:

Текстовый файл 1.txt:
https://google.com/file/dfdg83jk51a/0058start.mp4
https://google.com/file/10g8itfjf51a/0059soccer.mp4
https://mail.ru/file/445g83jk51a/kino0060.mp4

Замена текста
с
google.com
на
yandex.ru

Варианты символов, которые должны искаться:
start.
/kino

После применения скрипта, текстовый файл 1.txt должен Стать таким:
https://yandex.ru/file/dfdg83jk51a/0058start.mp4
https://google.com/file/10g8itfjf51a/0059soccer.mp4
https://mail.ru/file/445g83jk51a/kino0060.mp4

:)

DJ Mogarych
25-02-2024, 14:30
(gc 'C:\temp\1.txt') -replace 'google\.com(?=.*(start\.|/kino))','yandex.ru'


См. регулярные выражения, опережающие проверки (regex positive lookahead)
https://habr.com/ru/articles/545150/#looking_for
https://www.google.com/search?q=regex+positive+lookahead




© OSzone.net 2001-2012