Comment convertir une chaîne en une représentation minuscule?

91

Comment convertir une chaîne en une représentation minuscule?

Je pense qu'il doit y avoir une fonction intégrée pour cela, mais je ne peux tout simplement pas le trouver.

J'ai trouvé un ToLowerin "unicode/letter", mais cela ne fonctionne que pour une rune à la fois.

oers
la source

Réponses:

125

Oui, vérifiez le paquet de chaînes .

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.ToLower("Gopher"))
}
Aura
la source
thx beaucoup j'ai complètement raté le paquet :) chaînes et googler n'a pas apporté quoi que ce soit
OER
3
Bien que la réponse soit correcte, les liens ont tendance à périr et l'ajout d'un exemple de code illustrant la solution est préférable.
ereOn
46

Si vous êtes trop paresseux pour cliquer sur le package de chaînes , voici un exemple de code:

strings.ToLower("Hello, WoRLd") // => "hello, world"

Si vous devez gérer un cas spécial Unicode comme l'azéri ou le turc, vous pouvez utiliser ToLowerSpecial:

strings.ToLowerSpecial(unicode.TurkishCase, "Hello, WoRLd") // => "hello, world"
Ryan Endacott
la source
quelqu'un peut-il expliquer le concept de cas particulier? par exemple, je souhaite comparer les entrées utilisateur, qui sont des chaînes Unicode, à un ensemble stocké de chaînes Unicode et trouver des correspondances, après avoir mis les deux ensembles en minuscules. auriez-vous besoin de tolowerspecial () dans ce cas?
Luke W
Malheureusement, je ne suis pas sûr. Vous pourriez essayer de poser une question distincte à ce sujet et de la lier ici?
Ryan Endacott
"... Pour le turc, certaines lettres ne sont pas gérées correctement. Les majuscules 'İ' doivent correspondre aux minuscules 'i', les majuscules 'I' doivent correspondre aux minuscules 'ı' et les minuscules 'i' doivent correspondre aux majuscules 'İ' .. . "de stackoverflow.com/q/50135094/3166697
Dima Kozhevin