Gestion de la différenciation des chaînes dans Go
Lorsque vous traitez la sortie de chaîne générée par une commande Linux dans Go, la distinction entre les caractères "n" intégrés et les sauts de ligne réels peuvent être difficiles, conduisant potentiellement à une analyse incorrecte des chaînes.
Dans le scénario décrit, l'objectif est de distinguer les « n » caractères présents dans une chaîne multiligne (représentant des chaînes entre guillemets) et des sauts de ligne réels qui séparent les différentes lignes de résultat.
Pour résoudre ce problème, envisagez la technique suivante :
output := strings.Replace(sourceStr, `\n`, "\n", -1)
Ce code remplace tout instances de caractères "n" échappés (c'est-à-dire n) avec des sauts de ligne réels "n."
Les littéraux de chaîne à l'intérieur des guillemets () dans Go autorisent pour les chaînes multilignes. Cependant, lors du traitement de ces chaînes dans le code, les sauts de ligne sont échappés avec n`. En remplaçant ces sauts de ligne échappés par des sauts de ligne réels, vous pouvez faire la différence entre les caractères "n" intégrés et les séparateurs de ligne réels.
Cette approche garantit que les techniques d'analyse de chaîne ultérieures, telles que strings.Split ou bufio.NewScanner, se comportera correctement, divisant la chaîne multiligne en lignes individuelles en fonction des sauts de ligne réels plutôt que des caractères "n" intégrés.
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!