Wie finde ich überlappende Übereinstimmungen in Go-Strings?
Überlappende Übereinstimmungen in Go finden
Sie möchten die Indizes des Musters .#.#.. in einer bestimmten Zeichenfolge finden, aber Go unterstützt keine überlappenden Übereinstimmungen in seiner integrierten FindAllStringSubmatchIndex-Funktion. Um dieses Problem zu beheben, schlägt die folgende Antwort einen alternativen Ansatz vor, bei dem strings.Index und eine Schleife anstelle von Regex verwendet werden.
import ( "fmt" "strings" ) func main() { input := "...#...#....#.....#..#..#..#......." idx := []int{} j := 0 for { i := strings.Index(input[j:], "..#..") if i == -1 { break } idx = append(idx, j+i) j += i + 1 } fmt.Println("Indexes:", idx) }
Dieser Ansatz funktioniert, indem der Index des Musters mithilfe von strings.Index iterativ ermittelt und hinzugefügt wird das Segment der Indizes, bis das Muster nicht mehr in der Eingabezeichenfolge gefunden wird. Es ist einfacher, effizienter und vermeidet die Einschränkungen von Regex für diese spezielle Aufgabe.
Das obige ist der detaillierte Inhalt vonWie finde ich überlappende Übereinstimmungen in Go-Strings?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?
