Maison  >  Article  >  développement back-end  >  Comment extraire une sous-chaîne entre deux caractères ou chaînes en Go ?

Comment extraire une sous-chaîne entre deux caractères ou chaînes en Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 21:27:30589parcourir

How to Extract a Substring Between Two Characters or Strings in Go?

Aller coder pour extraire une sous-chaîne entre deux caractères ou chaînes

Si vous avez une chaîne et que vous souhaitez en extraire une sous-chaîne particulière, Go fournit un mécanisme flexible pour y parvenir.

Par exemple, considérons la chaîne suivante :

<h1>Hello World!</h1>

Extraire la sous-chaîne

Pour extraire " Bonjour le monde!" à partir de cette chaîne en utilisant Go, vous pouvez implémenter la fonction suivante :

<code class="go">// GetStringInBetween Returns empty string if no start string found
func GetStringInBetween(str string, start string, end string) (result string) {
    s := strings.Index(str, start)
    if s == -1 {
        return
    }
    s += len(start)
    e := strings.Index(str[s:], end)
    if e == -1 {
        return
    }
    e += s + e - 1
    return str[s:e]
}</code>

Comprendre la fonction

Cette fonction prend trois arguments :

  • str : La chaîne d'origine
  • start : La chaîne ou le caractère de début
  • end : La chaîne ou le caractère de fin

Cela fonctionne comme suit :

  1. Il trouve le premier index de début dans la chaîne d'origine.
  2. Il ajoute la longueur de début à l'index de départ, sautant efficacement la chaîne de début.
  3. Il trouve le premier index de fin dans la sous-chaîne à partir de l'index de départ ajusté.
  4. Il calcule l'index de fin en ajoutant l'index de départ ajusté à l'index de fin trouvé.
  5. Enfin, il renvoie le sous-chaîne de l'index de début ajusté à l'index de fin.

Exemple d'utilisation

Pour utiliser cette fonction, vous pouvez transmettre la chaîne d'origine, la chaîne de début , et la chaîne de fin. Par exemple :

start := "<h1"
end := "</h1>"
substring := GetStringInBetween("&lt;h1&gt;Hello World!&lt;/h1&gt;", start, end)
// substring will be "Hello World!"

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!

Déclaration:
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