Wie führt man in Go Zeichenfolgensuchen ohne Berücksichtigung der Groß- und Kleinschreibung durch?

DDD
Freigeben: 2024-11-10 00:41:02
Original
486 Leute haben es durchsucht

How to Perform Case-Insensitive String Searches in Go?

Suche nach Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung in Go

Beim Durchsuchen von Dateien nach bestimmten Zeichenfolgen kann es erforderlich sein, Suchvorgänge durchzuführen, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird, um dies sicherzustellen Alle Vorkommnisse werden erfasst. Dies ist besonders nützlich, wenn Sie mit Text arbeiten, der sowohl Groß- als auch Kleinbuchstaben enthalten kann.

In Go bietet die Funktion strings.EqualFold() eine praktische Lösung für den String-Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung. Es vergleicht zwei Zeichenfolgen und gibt „true“ zurück, wenn sie gleich sind, unabhängig von der Groß-/Kleinschreibung. Diese Funktion verarbeitet sogar Unicode-Zeichen und eignet sich daher für eine Vielzahl von Anwendungsfällen.

Betrachten wir beispielsweise das folgende Szenario: Sie müssen in einer Datei nach der Zeichenfolge „Update“ suchen. Sie möchten, dass die Suche sowohl mit „Update“ als auch mit „update“ übereinstimmt, da sie in einem Kontext ohne Berücksichtigung der Groß-/Kleinschreibung als gleichwertig betrachtet werden.

Um dies zu erreichen, können Sie die Funktion strings.EqualFold() wie folgt verwenden:

package main

import (
    "fmt"
    "strings"
)

func main() {
    if strings.EqualFold("Update", "update") {
        fmt.Println("Match found")
    }
}
Nach dem Login kopieren

In diesem Beispiel gibt die Funktion strings.EqualFold() true zurück, was angibt, dass „Update“ und „update“ als gleich betrachtet werden, wenn die Groß-/Kleinschreibung ignoriert wird.

Weitere Informationen Betrachten Sie als umfassendes Beispiel das folgende Programm, das zeigt, wie eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung in einer Datei durchgeführt wird:

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)
        }
    }
}
Nach dem Login kopieren

In diesem Programm wird die Funktion strings.Contains() verwendet, um nach der Kleinbuchstabenversion von zu suchen die Zielzeichenfolge in der Kleinbuchstabenversion jeder Zeile in der Datei. Dadurch wird sichergestellt, dass sowohl „Update“ als auch „update“ übereinstimmen.

Die Ausgabe des Programms ist eine Liste von Zeilen, die die Zielzeichenfolge enthalten, unabhängig von der Groß-/Kleinschreibung. Dies zeigt, wie man in Go mithilfe der Funktionen strings.EqualFold() und strings.Contains() eine Zeichenfolgensuche ohne Berücksichtigung der Groß-/Kleinschreibung durchführt.

Das obige ist der detaillierte Inhalt vonWie führt man in Go Zeichenfolgensuchen ohne Berücksichtigung der Groß- und Kleinschreibung durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage