Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Сделать замену в строке, если в этой строке найден набор символов

Ответить
Настройки темы
PowerShell - [решено] Сделать замену в строке, если в этой строке найден набор символов

Ветеран


Сообщения: 531
Благодарности: 4

Профиль | Отправить PM | Цитировать


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

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

пример:

Текстовый файл 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

Отправлено: 05:12, 22-02-2024

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6493
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
(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=rege...tive+lookahead

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 25-02-2024 в 14:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:30, 25-02-2024 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Сделать замену в строке, если в этой строке найден набор символов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ссылка на результаты поиска на сайте, если в адресной строке не происходит изменений biomirror Хочу все знать 6 16-08-2018 08:58
CMD/BAT - [решено] Если в строке есть 2-ва "ть" заменить на "ла" papacoca Скриптовые языки администрирования Windows 5 31-12-2014 17:36
7 / 2008 R2 - [решено] А если домен? J-S Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 2 30-12-2011 09:10
Ресурсы - [решено] Возможно ли изменить autorun в windows 7? если можно, то как? ZeroCool_OS Оформление Windows 11/ 10 / 8 / 7 / Vista 2 24-12-2011 22:52
Как изменить ограничение количества компьютеров, вводимых в домен? babki Microsoft Windows NT/2000/2003 2 10-11-2006 08:08




 
Переход