Как в PowerShell заменить определенное вхождение в текстовой строке?
Например, есть строка: "на оборотной стороне ворот втроая строка"
Необходимо получить: "на оборотной стороне ворот вторая строка"
При этом неизвестно сколько слов в строке, но известно что четвертое вхождение "ро" надо заменить на "ор".
PowerShell - [решено] Как заменить четвертое вхождение в строке
-
Kazun
-
Kazun
Re: PowerShell - [решено] Как заменить четвертое вхождение в строке
Дело не в грамматике.
Код:
на обо(ро)тной сто(ро)не во(ро)т вт(ро)ая ст(ро)ка
Как в четвертом вхождении регулярного выражения поставить Error. Или, например, во втором три звездочки.
Код:
Код: Выделить всё
$Line = 'на оборотной стороне ворот втроая строка'
$Pattern = 'ро'
$replace = $Line -replace $Pattern, "($Pattern)"
$replaceна обо(ро)тной сто(ро)не во(ро)т вт(ро)ая ст(ро)ка
Как в четвертом вхождении регулярного выражения поставить Error. Или, например, во втором три звездочки.
-
Kazun
Re: PowerShell - [решено] Как заменить четвертое вхождение в строке
"на оборотной стороне ворот втроая строка" -replace "((.*?ро.*?){3})ро",'$1ор'
-
Ortis
Re: PowerShell - [решено] Как заменить четвертое вхождение в строке
Ну не знаю, наверное неудачный пример дал.
Ну хорошо.
Цитата:
.....9.....2.......6......8.....1
..3...5....9....1...2....7....7
точки в строках считать буквами,
как вместо 4 -той по порядку цифры в каждой строке поставить 2012 ?
Добавлено:
Ой, уже ответили, извиняюсь, не обновил страницу.
Kazun, большое спасибо!
Ну хорошо.
Цитата:
.....9.....2.......6......8.....1
..3...5....9....1...2....7....7
точки в строках считать буквами,
как вместо 4 -той по порядку цифры в каждой строке поставить 2012 ?
Добавлено:
Ой, уже ответили, извиняюсь, не обновил страницу.
Kazun, большое спасибо!