Условный файл (массив) содержит такие строки:
string 1 with 能\ char
string 2 with \ 能\ char
string 3 with 予\ \ char
string 4 with 能\ 能\ char
string 5 without char
string 6
string 7 with 能 without char
Требуется, чтобы после обработки он выглядел так:
string 1 with 能\\ char
string 2 with \ 能\\ char
string 3 with 予\\ \char
string 4 with 能\\ 能\\ char
string 5 without char
string 6
string 7 with 能 without char
Попробовал сделать так:
$Out = [io.file]::ReadAllLines("test.txt", [text.encoding]::GetEncoding(65001))
foreach ($str in $Out) {
for (($i=0); ($i -lt $str.length); $i++) {
if ([int][char]$_.Chars($i) -band 128) {
if ([int][char]$str.Chars(($i+1)) -eq 92) {
$str.Insert(($i+1), "\")
}
}
}
}
Результат такой:
string 1 with 能\\ char
string 2 with \ 能\\ char
string 3 with 予\\ \ char
string 4 with 能\\ 能\ char
string 4 with 能\ 能\\ char
Пробовал считывать всё одной строкой с применением той же обработки:
$Out = [io.file]::ReadAllText("test.txt", [text.encoding]::GetEncoding(65001))
foreach ($str in $Out) {
for (($i=0); ($i -lt $str.length); $i++) {
if ([int][char]$_.Chars($i) -band 128) {
if ([int][char]$str.Chars(($i+1)) -eq 92) {
$str.Insert(($i+1), "\")
}
}
}
}
Результат такой:
string 1 with 能\\ char
string 2 with \ 能 \ char
string 3 with 予\ \ char
string 4 with 能\ 能\ char
string 5 without char
string 6
string 7 with 能 without char
string 1 with 能\ char
string 2 with \ 能\\ char
string 3 with 予\\ \char
string 4 with 能\ 能\ char
string 5 without char
string 6
string 7 with 能 without char
string 1 with 能\ char
string 2 with \ 能\ char
string 3 with 予\\ char
string 4 with 能\ 能\ char
string 5 without char
string 6
string 7 with 能 without char
string 1 with 能\ char
string 2 with \ 能\ char
string 3 with 予\ \ char
string 4 with 能\\ 能\ char
string 5 without char
string 6
string 7 with 能 without char
string 1 with 能\ char
string 2 with \ 能\ char
string 3 with 予\ \ char
string 4 with 能\ 能\\ char
string 5 without char
string 6
string 7 with 能 without char
Подскажите, как всё же обработать строки по данному условию и поместить как подпадающие под условие и обработанные строки, так и не подпадающие и не обработанные строки в тот же или другой файл (массив)?