Jak przekonwertować ciąg na reprezentację małych liter?


91

Jak przekonwertować ciąg na reprezentację małych liter?

Czuję, że musi mieć wbudowaną funkcję, ale po prostu nie mogę jej znaleźć.

Znalazłem ToLowerin "unicode/letter", ale działa tylko dla jednej run na raz.

Odpowiedzi:


125

Tak, sprawdź pakiet strun .

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.ToLower("Gopher"))
}

thx bardzo brakowało mi pakietu stringów :) i googlowanie nic nie dało
oferty

3
Chociaż odpowiedź jest prawidłowa, linki mają tendencję do zanikania i preferowane jest dodanie przykładowego kodu ilustrującego rozwiązanie.
ereOn

46

Jeśli jesteś zbyt leniwy, aby przejść do pakietu ciągów , oto przykładowy kod:

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

Jeśli potrzebujesz obsługiwać specjalny przypadek Unicode, taki jak azerski lub turecki, możesz użyć ToLowerSpecial:

strings.ToLowerSpecial(unicode.TurkishCase, "Hello, WoRLd") // => "hello, world"

czy ktoś może wyjaśnić koncepcję przypadku specjalnego? na przykład chcę porównać dane wejściowe użytkownika, które są ciągami znaków Unicode, z przechowywanym zestawem ciągów Unicode i znaleźć dopasowania, po zmniejszeniu obu zestawów małymi literami. czy potrzebowałbyś tolowerspecial () w tym przypadku?
Luke W

Niestety nie jestem pewien. Możesz spróbować zadać osobne pytanie na ten temat i połączyć je tutaj?
Ryan Endacott

„... W przypadku języka tureckiego niektóre litery nie są obsługiwane poprawnie. Wielkie litery„ İ ”powinny odpowiadać małym„ i ”, duże„ I ”powinny odpowiadać małym„ ı ”, a małe litery„ i ”powinny odpowiadać dużym„ İ ”.. . ”ze stackoverflow.com/q/50135094/3166697
Dima Kozhevin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.