Làm cách nào để chuyển đổi một chuỗi thành biểu diễn chữ thường?


91

Làm cách nào để chuyển đổi một chuỗi thành biểu diễn chữ thường?

Tôi cảm thấy rằng phải có chức năng tích hợp cho nó, nhưng tôi không thể tìm thấy nó.

Tôi đã tìm thấy một ToLowertrong "unicode/letter", nhưng nó chỉ hoạt động với một rune tại một thời điểm.

Câu trả lời:


125

Có, hãy kiểm tra gói chuỗi .

package main

import (
    "fmt"
    "strings"
)

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

thx rất nhiều tôi đã hoàn toàn mất gói chuỗi :) và googling không đưa lên bất cứ điều gì
oers

3
Mặc dù câu trả lời là đúng, các liên kết có xu hướng bị hủy và việc thêm một mẫu mã minh họa giải pháp là tốt hơn.
vào

45

Nếu bạn quá lười biếng để nhấp qua gói chuỗi , đây là mã ví dụ:

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

Nếu bạn cần xử lý một trường hợp đặc biệt Unicode như Azeri hoặc tiếng Thổ Nhĩ Kỳ, bạn có thể sử dụng ToLowerSpecial:

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

bất cứ ai có thể giải thích khái niệm của trường hợp đặc biệt? ví dụ: tôi muốn so sánh đầu vào của người dùng, là các chuỗi unicode, với một tập hợp các chuỗi unicode được lưu trữ và tìm các kết quả phù hợp, sau khi viết thường cả hai tập hợp. trường hợp này bạn có cần tolowerspecial () không?
Luke W

Thật không may, tôi không chắc. Bạn có thể thử đặt một câu hỏi riêng về điều đó và liên kết nó ở đây?
Ryan Endacott

"... Đối với tiếng Thổ Nhĩ Kỳ, một số chữ cái không được xử lý chính xác. Chữ hoa 'İ' phải tương ứng với chữ thường 'i', chữ hoa 'I' phải tương ứng với chữ thường 'ı' và chữ thường 'i' phải tương ứng với chữ hoa 'İ' .. . "từ stackoverflow.com/q/50135094/3166697
Dima Kozhevin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.