Ersetzt nur das erste vorkommen eines Wortes in einem string
Ich habe einige Probleme mit regulären Ausdruck vor allem, weil ich denke, dass die Informationen, die ich finden kann, ist nicht speziell für powershell und alle Beispiele, die ich versucht habe, entweder Fehler oder nicht so funktionieren wie Sie sollen. Ich bin versucht zu ersetzen, die dem ersten vorkommen eines Wortes in einem string durch ein anderes Wort, aber nicht ersetzen alle anderen vorkommen dieses Wortes. für ein Beispiel nehmen wir die Zeichenfolge:
My name is Bob, her name is Sara.
Möchte ich ersetzen des ersten Vorkommens von name
mit baby
so dass die resultierende Zeichenfolge wäre
My baby is Bob, her name is Sara.
Habe ich die Arbeit in https://regex101.com/ zu bauen versuchen und sehen, was ausgewählt ist, wie ich gehen, aber wie gesagt, keiner von Ihnen haben ein powershell-Geschmack von regex. In diesem kann ich einfach abschalten die global
Flagge und es scheint, wählen Sie die erste vorkommen aber nicht in powershell. Also ich bin echt ratlos, wo Sie beginnen, alle haben wirklich an dieser Stelle eine Auswahl aller Vorkommnisse des Wortes name
mit:
$test = "My name is Bob, her name is Sara."
$test -replace 'name', 'baby'
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erfassen alles selektioniert und hinter und ersetzen es:
$1
und$2
aber nicht bekommen konnte es ordnungsgemäß zu funktionieren. Vielen Dank für die Hilfe. Ich habe nicht ganz verstanden, wie die Beispiele arbeiten, aber das macht viel Sinn, jetzt.Einen Weg, Sie zu ersetzen n mal:
1
sagt Nur ersetzen die erste, Sie zu finden ? Ein2
würde als Ersatz dann ? Wenn Sie sagte3
und habe nur 2 Wortename
würde es Fehler oder nur ersetzen die ersten 2 ?