Maison >développement back-end >Golang >Comment préserver les sauts de chaîne internes lors de la division de chaînes Go avec des sauts de ligne ?

Comment préserver les sauts de chaîne internes lors de la division de chaînes Go avec des sauts de ligne ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-10 21:58:151067parcourir

How to Preserve Inner String Breaks When Splitting Go Strings with Newlines?

Différenciation des nouvelles lignes dans Go : préservation des sauts de chaîne internes

Lors de la lecture de la sortie des commandes Linux à l'aide de exec.Command, le tableau d'octets résultant peut contenir à la fois des caractères de nouvelle ligne littéraux ("n") et des nouvelles lignes échappées ("\n"). Cela peut poser un défi lorsque vous essayez de diviser la sortie en lignes tout en préservant les sauts de chaîne internes.

Une approche consiste à remplacer les nouvelles lignes échappées par de véritables nouvelles lignes en utilisant la ligne suivante :

strings.Replace(out, `\n`, "\n", -1)

Par ce faisant, nous convertissons efficacement les nouvelles lignes échappées dans leur forme originale, ce qui nous permet de diviser la sortie en lignes en utilisant des méthodes standard telles que :

lines := strings.Split(out, "\n")

Cela entraînera la sortie étant divisée en lignes, mais les sauts dans les chaînes seront conservés. Par exemple, considérons le résultat suivant :

First line: "test1"
Second line: "123;\n234;\n345;"
Third line: "456;\n567;"
Fourth line: "test4"

Le fractionnement de ce résultat à l'aide de la technique ci-dessus entraînera les lignes suivantes :

First line: "test1"
Second line: "123;\n234;\n345;"
Third line: "456;\n567;"
Fourth line: "test4"

Comme vous pouvez le voir, les sauts de chaîne internes sont préservé et la sortie est correctement divisée en lignes.

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