Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melakukan Carian Rentetan Tidak Peka Huruf dalam Go?

Bagaimana untuk Melakukan Carian Rentetan Tidak Peka Huruf dalam Go?

DDD
Lepaskan: 2024-11-10 00:41:02
asal
519 orang telah melayarinya

How to Perform Case-Insensitive String Searches in Go?

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")
    }
}
Salin selepas log masuk

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)
        }
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan