Heim  >  Artikel  >  Backend-Entwicklung  >  Wie teile ich Strings basierend auf regulären Ausdrücken in Go auf?

Wie teile ich Strings basierend auf regulären Ausdrücken in Go auf?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 02:59:02881Durchsuche

How to Split Strings Based on Regular Expressions in Go?

Aufteilen von Zeichenfolgen mithilfe regulärer Ausdrücke in Go

In Go kann das Aufteilen einer Zeichenfolge basierend auf einem regulären Ausdruck mit regexp.Split erreicht werden Funktion. Dies ist besonders nützlich, wenn das Trennzeichen dynamisch ist oder einen komplexeren Mustervergleich erfordert.

So verwenden Sie regexp.Split

Die Syntax von regexp.Split lautet:

func Split(s string, re *Regexp, n int) []string
  • s ist die Zeichenfolge, die geteilt werden soll.
  • re ist ein Zeiger auf a kompilierter regulärer Ausdruck.
  • n ist die maximale Anzahl der zurückzugebenden Teilzeichenfolgen. Verwenden Sie -1 für keine Begrenzung.

Beispiel: Aufteilen einer Zeichenfolge basierend auf Zahlen

Betrachten Sie das Beispiel der Aufteilung einer Zeichenfolge beim Auftreten von Zahlen:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile("[0-9]+")
    txt := "Have9834a908123great10891819081day!"

    split := re.Split(txt, -1)
    set := []string{}

    for i := range split {
        set = append(set, split[i])
    }

    fmt.Println(set) // ["Have", "a", "great", "day!"]
}

Erklärung:

  • Der reguläre Ausdruck „[0-9]“ entspricht Zahlenfolgen.
  • Die Die Split-Funktion nimmt die Eingabezeichenfolge txt und teilt sie basierend auf dem angegebenen regulären Ausdruck in Teilzeichenfolgen auf.
  • Die resultierenden Teilzeichenfolgen sind im geteilten Array gespeichert.
  • Da der Parameter n auf -1 gesetzt ist, gibt es keine Begrenzung für die Anzahl der Teilzeichenfolgen.
  • Wir iterieren über das geteilte Array und hängen jeden Teilstring an set array.
  • Die Ausgabe ist ["Have", "a", "great", "day!"].

Das obige ist der detaillierte Inhalt vonWie teile ich Strings basierend auf regulären Ausdrücken in Go auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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