Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как заменить четвертое вхождение в строке (http://forum.oszone.net/showthread.php?t=247685)

Ortis 25-11-2012 18:15 2032593

Как заменить четвертое вхождение в строке
 
Как в PowerShell заменить определенное вхождение в текстовой строке?
Например, есть строка: "на оборотной стороне ворот втроая строка"
Необходимо получить: "на оборотной стороне ворот вторая строка"
При этом неизвестно сколько слов в строке, но известно что четвертое вхождение "ро" надо заменить на "ор".

Kazun 25-11-2012 19:56 2032663

Проверить грамматику в тексте?

Ortis 25-11-2012 21:18 2032711

Дело не в грамматике.
Код:

$Line = 'на оборотной стороне ворот втроая строка'
$Pattern = 'ро'
$replace = $Line -replace $Pattern, "($Pattern)"
$replace

на обо(ро)тной сто(ро)не во(ро)т вт(ро)ая ст(ро)ка

Как в четвертом вхождении регулярного выражения поставить Error. Или, например, во втором три звездочки.

Kazun 25-11-2012 21:37 2032723

"на оборотной стороне ворот втроая строка" -replace "((.*?ро.*?){3})ро",'$1ор'

Ortis 25-11-2012 21:54 2032729

Ну не знаю, наверное неудачный пример дал.
Ну хорошо.
Цитата:

.....9.....2.......6......8.....1
..3...5....9....1...2....7....7

точки в строках считать буквами,
как вместо 4 -той по порядку цифры в каждой строке поставить 2012 ?
Добавлено:

Ой, уже ответили, извиняюсь, не обновил страницу.
Kazun, большое спасибо!


Время: 19:20.

Время: 19:20.
© OSzone.net 2001-