Heim > Backend-Entwicklung > Golang > Idiomatische Möglichkeit, eine Zeichenfolge zu durchlaufen und Werte in der ursprünglichen Zeichenfolge durch zugeordnete Werte zu ersetzen

Idiomatische Möglichkeit, eine Zeichenfolge zu durchlaufen und Werte in der ursprünglichen Zeichenfolge durch zugeordnete Werte zu ersetzen

王林
Freigeben: 2024-02-10 08:45:08
nach vorne
868 Leute haben es durchsucht

Idiomatische Möglichkeit, eine Zeichenfolge zu durchlaufen und Werte in der ursprünglichen Zeichenfolge durch zugeordnete Werte zu ersetzen

Der PHP-Editor Xinyi bietet eine idiomatische Möglichkeit, über einen String zu iterieren und die Werte im Originalstring durch zugeordnete Werte zu ersetzen. Diese Methode kann Entwicklern helfen, den String-Betriebsprozess zu vereinfachen und die Entwicklungseffizienz zu verbessern. Durch die Verwendung eines zugeordneten Arrays können Entwickler eine Reihe von Schlüssel-Wert-Paaren definieren und dann eine iterative Methode verwenden, um bestimmte Werte in der ursprünglichen Zeichenfolge durch zugeordnete Werte zu ersetzen. Diese Methode ist nicht nur einfach und leicht zu verstehen, sondern kann auch auf verschiedene Szenarien wie Datenverarbeitung, Textersetzung usw. angewendet werden. Sowohl Anfänger als auch erfahrene Entwickler können von diesem Ansatz profitieren, um String-Operationen schnell und effizient abzuwickeln.

Frageninhalt

Ich habe eine funktionierende Lösung zum Iterieren eines Strings und zum Zuordnen rune zu einer Karte

package main

import (
    "fmt"
)

func main() {

    numToString := map[rune]string{
        '0': "zero",
        '1': "one",
        '2': "two",
        '3': "three",
        '4': "four",
        '5': "five",
        '6': "six",
        '7': "seven",
        '8': "eight",
        '9': "nine",
    }

    testStr := "one two 3 four"
    newStr := ""
    for _, char := range testStr {
        if val, ok := numToString[char]; ok {
            newStr += val
            continue
        }
        newStr += string(char)
    }
    // prints one two three four
    fmt.Println(string(newStr))
}
Nach dem Login kopieren

Das entspricht meinen Wünschen ... aber ich bin neugierig auf einen saubereren Weg (wenn möglich), anstatt einen ganz neuen String zuzuweisen, der aus dem ursprünglichen String erstellt werden soll. Wenn ich den ursprünglichen Inhalt während der Iteration direkt ändern könnte, würde ich dies lieber tun.

Hier ist der Spielplatz

Workaround

Verwenden Sie strings.Replacer, um Zeichenfolgen zu ersetzen.

var numToString = strings.NewReplacer(
    "0", "zero",
    "1", "one",
    "2", "two",
    "3", "three",
    "4", "four",
    "5", "five",
    "6", "six",
    "7", "seven",
    "8", "eight",
    "9", "nine").Replace

func main() {
    testStr := "one two 3 four"
    newStr := numToString(testStr)
    fmt.Println(newStr)
}
Nach dem Login kopieren

//m.sbmmt.com/link/7d420e2b2939762031eed0447a9be19f

Das obige ist der detaillierte Inhalt vonIdiomatische Möglichkeit, eine Zeichenfolge zu durchlaufen und Werte in der ursprünglichen Zeichenfolge durch zugeordnete Werte zu ersetzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage