Maison > développement back-end > Golang > le corps du texte

Comment diviser une chaîne uniquement par la première occurrence d'un délimiteur en Go ?

Linda Hamilton
Libérer: 2024-11-09 15:22:02
original
968 Les gens l'ont consulté

How to Split a String Only by the First Occurrence of a Delimiter in Go?

Diviser une chaîne uniquement par le premier élément dans Go

Dans Go, diviser une chaîne sur un délimiteur peut être réalisé à l'aide des chaînes. Fonction de partage. Cependant, lorsqu'il s'agit de chaînes contenant plusieurs instances du délimiteur, une approche plus raffinée peut être nécessaire.

Considérez la tâche d'analyse des noms de branche Git, qui peuvent contenir à la fois des composants distants et des branches. Au départ, on pourrait tenter de diviser la chaîne sur la première barre oblique /. Cependant, cette approche ne parvient pas à gérer le cas où le nom de la branche lui-même contient des barres obliques.

Pour surmonter ce défi, une solution plus élaborée consiste à prendre le premier élément du tableau divisé (branchArray[0]) comme serveur distant. et en fusionnant les éléments restants dans le composant de nom de branche. Ce processus, bien que fonctionnel, est quelque peu alambiqué.

Une alternative plus propre pour les versions Go antérieures à 1.18 consiste à utiliser la fonction strings.SplitN. strings.SplitN vous permet de spécifier le nombre maximum de sous-chaînes à générer. En définissant n sur 2, nous pouvons limiter la division à la première instance du délimiteur :

<code class="go">func ParseBranchname(branchString string) (remote, branchname string) {
    branchArray := strings.SplitN(branchString, "/", 2)
    remote = branchArray[0]
    branchname = branchArray[1]
    return
}</code>
Copier après la connexion

Cette approche est concise et efficace, fournissant une solution robuste pour analyser les noms de branches. Pour les versions Go 1.18 et supérieures, une solution encore plus simple existe.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal