Существует ли не строгое тестирование и на сколько оно удобно если таковое имеется. Допустим у меня в файле есть строка которая может находится между двумя другими строками. Ну типа...
$txt = "Дед бабу бил бил`nБил бил`nБаба сдохла`nБил бил`nОтдыхаем`nБил бил`nПриехали менты"
$beat = "Бил бил"
$kill = "Баба сдохла"
$tabl = $txt -split '\n'
for ($i = 0; $i -lt $tabl.Count; $i++) {
if ($Tabl[$i] -eq $beat) {
$beatIndex = $i
}}
for ($i = 0; $i -lt $tabl.Count; $i++) {
if ($Tabl[$i] -eq $kill) {
$killIndex = $i
}}
$i = 0
$tablN = New-Object System.Data.DataTable
$tablN.Columns.Add() | Out-Null
ForEach ($item in $tabl){
if ($i -ne $killIndex){
$tablN.Rows.Add($item) | Out-Null
}
if($i -eq $beatIndex){
$tablN.Rows.Add($tabl[$killIndex]) | Out-Null
}
$i++
}
И в строку если надо
$rowValues = $tabln.Rows | ForEach-Object {
$_.ItemArray | ForEach-Object {
if ($_ -is [System.ComponentModel.MarshalByValueComponent]) {
$_.ToString()
} else {
$_
}
}
}
$resultString = $rowValues -join "\n"