Ich habe eine Textdatei, wo ich überprüfen muss, ob ein spezielles Zeichen an einer speziellen Position vorhanden ist.Fügen Sie Zeichen in Zeichenfolge vom Ende
Zuerst finde ich heraus, ob das Zeichen vorhanden ist oder nicht. Wenn es nicht ist, möchte ich es an der Stelle hinzufügen, an der es fehlt. Das Problem ist, dass sich die Anzahl der Zeichen vor dem Zeichen, das ich überprüfe, ändert. Das bedeutet, dass ich das Zeichen nicht ständig an der gleichen Stelle mit insert
hinzufügen kann.
Das Ende der Zeichenfolge sieht immer gleich aus. Gibt es einen Weg, wo ich das Zeichen direkt an der Position hinzufügen kann, wo es fehlt oder es an einer Stelle nach dem Zählen einer Anzahl von Zeichen rückwärts vom Ende der Zeichenfolge einfügen?
Im Moment sieht mein Code wie folgt aus:
$content = Get-Content Path\to\file.txt
foreach ($line in $content) {
if ($line[-6] -ne '\') {
#Add character here
}
echo $line
}
EDIT:
Das tut, was ich will, aber ich denke, es ist von einer guten Lösung weit entfernt ist:
$content = Get-Content path\to\file.txt
foreach ($line in $content) {
if ($line[-25] -ne '\') {
$new_line = $line.Split(';')[0]
$new_line1 = $line.Split(';')[1] + '\' | % {$_ -replace '"', ''}
$new_line2 = $line.Split(';')[2]
$test = Write-Host $new_line';"'$new_line1'";'$new_line2
}
}
echo $test
Genau das habe ich gesucht! Thx Jetzt muss ich nur herausfinden, wie man das Zeichen direkt in die Datei ersetzt. – BallerNacken
'(Get-Content Dateiname) -replace ... | Set-Content Dateiname' –