Maison > développement back-end > Golang > le corps du texte

Comment diviser des chaînes en fonction d'expressions régulières dans Go ?

Barbara Streisand
Libérer: 2024-11-10 02:59:02
original
860 Les gens l'ont consulté

How to Split Strings Based on Regular Expressions in Go?

Diviser des chaînes à l'aide d'expressions régulières dans Go

Dans Go, diviser une chaîne en fonction d'une expression régulière peut être réalisé avec l'expression rationnelle.Split fonction. Ceci est particulièrement utile lorsque le délimiteur est dynamique ou nécessite une correspondance de modèle plus complexe.

Comment utiliser regexp.Split

La syntaxe de regexp.Split est :

func Split(s string, re *Regexp, n int) []string
Copier après la connexion
  • s est la chaîne à diviser.
  • re est un pointeur vers une expression régulière compilée.
  • n est le nombre maximum de sous-chaînes à renvoyer . Utilisez -1 pour aucune limite.

Exemple : Fractionnement d'une chaîne en fonction de nombres

Considérons l'exemple de fractionnement d'une chaîne à l'apparition de nombres :

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!"]
}
Copier après la connexion

Explication :

  • L'expression régulière "[0-9]" correspond à des séquences de nombres.
  • La fonction Split prend le chaîne d'entrée txt et la divise en sous-chaînes en fonction de l'expression régulière spécifiée.
  • Les sous-chaînes résultantes sont stockées dans le tableau divisé.
  • Puisque le paramètre n est défini sur -1, il n'y a pas limite sur le nombre de sous-chaînes.
  • Nous parcourons le tableau divisé et ajoutons chaque sous-chaîne au tableau défini.
  • Le résultat est ["Have", "a", "great", "jour!"].

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal