L'éditeur PHP Xinyi apporte une manière idiomatique de parcourir une chaîne et de remplacer les valeurs de la chaîne d'origine par des valeurs mappées. Cette méthode peut aider les développeurs à simplifier le processus d'exploitation des chaînes et à améliorer l'efficacité du développement. En utilisant un tableau mappé, les développeurs peuvent définir un ensemble de paires clé-valeur, puis utiliser une méthode itérative pour remplacer des valeurs spécifiques dans la chaîne d'origine par des valeurs mappées. Cette méthode est non seulement simple et facile à comprendre, mais peut également être appliquée à divers scénarios, tels que le traitement de données, le remplacement de texte, etc. Les développeurs débutants et expérimentés peuvent bénéficier de cette approche pour gérer les opérations sur les chaînes rapidement et efficacement.
J'ai une solution de travail concernant l'itération d'une chaîne et le mappage rune
sur une carte
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)) }
Cela correspond à mes souhaits... mais je suis curieux de trouver une manière plus propre (si possible) plutôt que d'allouer une toute nouvelle chaîne à construire à partir de la chaîne d'origine. Je préférerais faire cela si je pouvais modifier le contenu original sur place lors de l'itération.
Voici le terrain de jeu
Utilisez strings.Replacer pour remplacer les chaînes.
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) }
https://www.php.cn/link/7d420e2b2939762031eed0447a9be19f
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!