Maison >développement back-end >Golang >Comment différencier les « \\n » intégrés des sauts de ligne réels dans la sortie de chaîne Go ?

Comment différencier les « \\n » intégrés des sauts de ligne réels dans la sortie de chaîne Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-26 17:00:11631parcourir

How to Differentiate Embedded `\n` from Actual Line Breaks in Go String Output?

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!

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