Ich habe ein Textdokument, das in Abschnitte unterteilt ist, die einen Zweigort angeben, und einen Platzhalter, der nur unter diesem Zweig ersetzt werden muss.Ersetze die erste Instanz einer Zeichenfolge nach einer Variablen oder einer anderen eindeutigen Zeichenfolge
Zum Beispiel muss ich die 'xxxxx' nur unter '### Seite 3 ###' in einem neuen oder der gleichen Textdatei mit einer Variablen ersetzen:
#### Site 1 ### jlkfd, fdjks, fdsfdsa jlk3d, jllww, fjcnncc xxxxx, jflkd, jfkdlww hbubd, q0q0i, jodsssj ### Site 2 ### jlkfd, fdjks, fdsfdsa jlk3d, jllww, fjcnncc xxxxx, jflkd, jfkdlww hbubd, q0q0i, jodsssj ### Site 3 ### jlkfd, fdjks, fdsfdsa jlk3d, jllww, fjcnncc xxxxx, jflkd, jfkdlww hbubd, q0q0i, jodsssj ### Site 4 ### jlkfd, fdjks, fdsfdsa jlk3d, jllww, fjcnncc xxxxx, jflkd, jfkdlww hbubd, q0q0i, jodsssj
I Ich denke an etwas in der Art der Identifizierung der Zeilennummer, die ich mit IndexOf()
beginnen möchte. Ich kann die Zeile identifizieren, die wir starten können, und die erste Instanz ersetzen, die nach dieser Zeile gefunden wurde, aber es ist schwierig, herauszufinden, wie man es am besten macht. Eine Schleife, eine String-Methode oder etwas anderes?
Um die tatsächlich ersetze ich Replace()
jetzt bin mit:
Write-Host "new is:" -ForegroundColor DarkRed
$re = [regex]'xxxxx'
$output = $re.Replace([string]::Join("`n", ($t)), $Replace, 1)
$output
Ausgezeichnet. Vielen Dank! –