Maison > développement back-end > Golang > Comment supprimer les espaces et les espaces dupliqués des chaînes dans Golang ?

Comment supprimer les espaces et les espaces dupliqués des chaînes dans Golang ?

Barbara Streisand
Libérer: 2024-11-15 06:01:02
original
784 Les gens l'ont consulté

How to Remove Duplicated Spaces and Whitespace from Strings in Golang?

Suppression des espaces dupliqués et des espaces des chaînes dans Golang

Pour supprimer à la fois les espaces de début/fin et les espaces redondants d'une chaîne dans Golang, vous peut utiliser le package de chaînes.

  1. Suppression Espaces de début/fin :

La fonction strings.TrimSpace() supprime les espaces de début et de fin, y compris les caractères de nouvelle ligne et les caractères nuls.

trimmedString := strings.TrimSpace(originalString)
Copier après la connexion
  1. Suppression des espaces redondants :

Pour supprimer les espaces redondants espaces, vous pouvez utiliser strings.Fields(). Cette fonction divise une chaîne en caractères d'espacement, ce qui donne une tranche de sous-chaînes.

formattedString := strings.Join(strings.Fields(originalString), " ")
Copier après la connexion

Gestion des caractères spatiaux internationaux :

Pour gérer les caractères spatiaux internationaux, vous pouvez utilisez le support Unicode. Le code suivant utilise la fonction unicode.IsSpace() pour vérifier divers caractères d'espacement :

func standardizeSpacesUnicode(s string) string {
    var buffer bytes.Buffer
    for _, r := range s {
        if unicode.IsSpace(r) {
            if buffer.Len() == 0 || buffer.Bytes()[buffer.Len()-1] != ' ' {
                buffer.WriteRune(r)
            }
        } else {
            buffer.WriteRune(r)
        }
    }
    return buffer.String()
}
Copier après la connexion

Exemple d'utilisation :

package main

import (
    "fmt"
    "strings"
)

func main() {
    tests := []string{
        " Hello,   World  ! ",
        " Hello,\tWorld ! ",
        " \t\n\t Hello,\tWorld\n!\n\t",
        "你好,世界!", // Unicode test
    }

    for _, test := range tests {
        trimmed := strings.TrimSpace(test)
        formatted := strings.Join(strings.Fields(test), " ")
        standardizedUnicode := standardizeSpacesUnicode(test)

        fmt.Println("Original:", test)
        fmt.Println("Trimmed:", trimmed)
        fmt.Println("Formatted:", formatted)
        fmt.Println("Standardized Unicode:", standardizedUnicode)
        fmt.Println()
    }

}
Copier après la connexion

Sortie :

Original:  Hello,   World  !
Trimmed:  Hello, World !
Formatted:  Hello World !
Standardized Unicode: Hello World !

Original:  Hello,\tWorld !
Trimmed:  Hello, World !
Formatted:  Hello World !
Standardized Unicode: Hello World !

Original:   \t\n\t Hello,\tWorld\n!\n\t
Trimmed:  Hello, World!
Formatted:  Hello World!
Standardized Unicode: Hello World!

Original:  你好,世界!
Trimmed:  你好,世界!
Formatted:  你好 世界!
Standardized Unicode: 你好 世界!
Copier après la connexion

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 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