Heim > Backend-Entwicklung > Golang > Wie ersetzt man Strings in Golang richtig durch das „Gierprinzip'?

Wie ersetzt man Strings in Golang richtig durch das „Gierprinzip'?

PHPz
Freigeben: 2024-02-08 20:53:44
nach vorne
982 Leute haben es durchsucht

Wie ersetzt man Strings in Golang richtig durch das „Gierprinzip?

Frageninhalt

Ich habe versucht, die Zeichenfolge zu blockieren, aber etwas ist schiefgegangen

Der reproduzierbare Code ist unten und erfordert alle alten und neuen Paare. Wie bekomme ich col1 而不是 col0b?

package main

import (
    "fmt"
    "strings"
)

func main() {
    r := strings.NewReplacer("a", "col0", "ab", "col1")
    s := "ab"
    fmt.Println(r.Replace(s))
}
Nach dem Login kopieren

Ich möchte, dass die Zeichenfolge mit maximaler Länge oder dem Greedy-Prinzip ersetzbar ist


Richtige Antwort


Laut Dokumentation führt die Ersetzung durch NewReplacer die Zeichenfolgen in der Reihenfolge aus, in der sie im Ziel erscheinen, ohne überlappende Übereinstimmungen, also folgt immer der ersten passenden Basis. Wenn es erlaubt ist, denke ich, dass Sie dieses Problem lösen könnten, indem Sie die Ersatzpaare so umordnen, dass die längere Zeichenfolge (“ab”-“col1”)放置在较短的字符串(“a”,“col0”) vor

kommt
package main

import (
    "fmt"
    "strings"
)

func main() {
    r := strings.NewReplacer("ab", "col1", "a", "col0")
    s := "ab"
    fmt.Println(r.Replace(s))
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie ersetzt man Strings in Golang richtig durch das „Gierprinzip'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage