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

Comment implémenter la fonction de remplacement à valeurs multiples dans Golang

PHPz
Libérer: 2023-04-06 10:18:22
original
1271 Les gens l'ont consulté

Golang est un langage de programmation populaire largement utilisé dans les applications Web, les systèmes d'exploitation, les systèmes distribués, les plates-formes cloud et d'autres domaines. Parmi eux, dans les opérations sur les chaînes, nous rencontrons souvent des situations où un remplacement de plusieurs valeurs est nécessaire. Ce qui suit présentera comment implémenter la fonction de remplacement à valeurs multiples dans Golang.

1. Remplacement de chaînes à valeurs multiples

Dans Golang, les chaînes peuvent être représentées sous forme de points de code Unicode (tranches de rune). Normalement, nous utilisons la fonction Replace dans le package de chaînes ou la fonction ReplaceAllString dans le package Regexp pour effectuer le remplacement d'une valeur unique.

La fonction Replace est utilisée comme suit :

func Replace(s, old, new string, n int) string
Copier après la connexion

La fonction ReplaceAllString est utilisée comme suit :

func ReplaceAllString(src, repl string) string
Copier après la connexion

Dans la fonction ci-dessus, s et src sont toutes deux des chaînes d'origine, old représente l'ancienne chaîne qui doit être remplacée et new ou repl représente le remplacement. La nouvelle chaîne après, n représente le nombre maximum de fois à remplacer. Cependant, si nous voulons remplacer plusieurs valeurs en même temps, la fonction ci-dessus ne peut pas répondre à nos besoins. Dans ce cas, nous pouvons utiliser la fonction Map dans le package strings et définir une table de mappage dans la fonction Map.

2. Utilisez Map pour implémenter le remplacement de valeurs multiples

La fonction Map est utilisée comme suit :

func Map(mapping func(rune) rune, s string) string
Copier après la connexion

Dans la fonction ci-dessus, le mappage est une fonction qui mappe chaque point de code Unicode d'entrée à la valeur de sortie, et s est la valeur de sortie. valeur qui doit être mappée sur une chaîne. Nous pouvons définir une table de mappage dans la fonction de mappage pour implémenter le remplacement à valeurs multiples.

Ce qui suit est un exemple d'implémentation du remplacement multi-valeurs :

package main

import (
    "fmt"
    "strings"
)

func main() {
    oldStrs := []string{"world", "World"}
    newStrs := []string{"Go", "GoLang"}
    s := "Hello world! Hello World!"

    replacer := strings.NewReplacer(oldStrs...)
    fmt.Println(replacer.Replace(s))

    mapping := func(r rune) rune {
        switch r {
        case 'w':
            return 'G'
        case 'o':
            return 'o'
        case 'r':
            return 'L'
        case 'l':
            return 'a'
        case 'd':
            return 'n'
        case 'W':
            return 'G'
        case '!' :
            return '!'
        default:
            return r
        }
    }

    fmt.Println(strings.Map(mapping, s))
}
Copier après la connexion

Dans le code ci-dessus, nous stockons la chaîne à remplacer et la chaîne remplacée dans deux tranches oldStrs et newStrs respectivement, et les transmettons à la fonction NewReplacer. L'objet de remplacement est créé via la fonction NewReplacer. Ensuite, nous définissons une fonction de mappage dans la fonction Map pour mapper l'ancienne valeur de la chaîne d'origine à la nouvelle valeur, et utilisons la fonction Map pour effectuer une opération de mappage globale sur la chaîne d'origine afin d'obtenir la chaîne remplacée.

Exécutez le code ci-dessus et vous obtiendrez les résultats suivants :

Hello Go! Hello GoLang!
Hello Go! Hello GoLang!
Copier après la connexion

3.Résumé

Dans Golang, le remplacement de chaînes à valeurs multiples peut utiliser la fonction Map dans le package de chaînes et définir une table de mappage dans la fonction Map. . Cette méthode peut remplacer plusieurs valeurs en même temps, ce qui la rend plus flexible et efficace. Dans le développement réel, il est nécessaire de prêter attention à l'ordre et au nombre de valeurs de substitution différentes pour éviter les erreurs de substitution et les exceptions.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal