Carian Rentetan Tidak Peka Huruf dalam Go
Apabila mencari melalui fail untuk rentetan tertentu, anda mungkin perlu melakukan carian tidak sensitif huruf besar untuk memastikan semua kejadian ditangkap. Ini amat berguna apabila bekerja dengan teks yang mungkin mengandungi kedua-dua aksara huruf besar dan huruf kecil.
Dalam Go, fungsi strings.EqualFold() menyediakan penyelesaian yang mudah untuk padanan rentetan tidak sensitif huruf besar-besaran. Ia membandingkan dua rentetan dan mengembalikan benar jika ia sama, tanpa mengira huruf besar. Fungsi ini juga mengendalikan aksara Unicode, menjadikannya sesuai untuk pelbagai kes penggunaan.
Sebagai contoh, mari kita pertimbangkan senario berikut: anda perlu mencari rentetan "Kemas Kini" dalam fail. Anda mahu carian sepadan dengan kedua-dua "Kemas kini" dan "kemas kini", kerana ia dianggap setara dalam konteks tidak peka huruf besar-kecil.
Untuk mencapai ini, anda boleh menggunakan fungsi strings.EqualFold() seperti berikut:
package main import ( "fmt" "strings" ) func main() { if strings.EqualFold("Update", "update") { fmt.Println("Match found") } }
Dalam contoh ini, fungsi strings.EqualFold() akan kembali benar, menunjukkan bahawa "Kemas kini" dan "kemas kini" dianggap sama apabila kes diabaikan.
Untuk contoh yang lebih komprehensif, pertimbangkan atur cara berikut yang mempamerkan cara melakukan carian tidak sensitif huruf besar dalam fail:
package main import ( "bufio" "fmt" "os" "strings" ) func main() { // Open the file for reading file, err := os.Open("file.txt") if err != nil { panic(err) } defer file.Close() // Create a scanner to iterate over the file line by line scanner := bufio.NewScanner(file) // Specify the target string to search for target := "Update" // Read the file line by line for scanner.Scan() { line := scanner.Text() // Perform a case-insensitive search for the target string if strings.Contains(strings.ToLower(line), strings.ToLower(target)) { fmt.Println("Match found in line:", line) } } }
Dalam atur cara ini, rentetan. Fungsi Contains() digunakan untuk mencari versi huruf kecil rentetan sasaran dalam versi huruf kecil setiap baris dalam fail. Ini memastikan bahawa kedua-dua "Kemas kini" dan "kemas kini" dipadankan.
Output program akan menjadi senarai baris yang mengandungi rentetan sasaran, tanpa mengira kesnya. Ini menunjukkan cara melakukan carian rentetan tidak peka huruf besar dan kecil dalam Go menggunakan fungsi rentetan.EqualFold() dan strings.Contains().
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Carian Rentetan Tidak Peka Huruf dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!