Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah anda Mengenalpasti Watak Khas dalam Rentetan dalam Golang?

Bagaimanakah anda Mengenalpasti Watak Khas dalam Rentetan dalam Golang?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 20:31:01411semak imbas

How do you Identify Special Characters in Strings in Golang?

Mengenal pasti Watak Khas dalam Rentetan dalam Golang

Dalam GoLang, menyemak aksara khas dalam rentetan memerlukan kaedah khusus. Apabila menemui rentetan yang diperoleh daripada input pengguna, memastikan kesahihannya selalunya memerlukan pengesahan ketiadaan aksara berniat jahat atau tidak diingini. Artikel ini meneroka dua pendekatan untuk mengesan aksara khas dalam rentetan.

Kaedah 1: Menggunakan rentetan.ContainsAny()

Fungsi rentetan.ContainsAny() menentukan sama ada rentetan mengandungi sebarang aksara daripada yang disediakan set watak. Untuk menyemak aksara khas, hantar rentetan dan set aksara khas kepada fungsi tersebut. Contohnya:

<code class="go">package main

import "strings"

func main() {
    fmt.Println(strings.ContainsAny("Hello World", ",|"))  // false
    fmt.Println(strings.ContainsAny("Hello, World", ",|")) // true
    fmt.Println(strings.ContainsAny("Hello|World", ",|"))  // true
}</code>

Kaedah 2: Menggunakan rentetan.IndexFunc()

Untuk menyemak sama ada rentetan mengandungi aksara bukan ASCII, rentetan.IndexFunc() terbukti berguna. Ia mengembalikan indeks aksara pertama yang memenuhi fungsi yang disediakan. Lulus fungsi yang menyemak sama ada aksara berada di luar julat aksara ASCII:

<code class="go">package main

import (
    "fmt"
    "strings"
)

func main() {
    f := func(r rune) bool {
        return r < 'A' || r > 'z'
    }
    if strings.IndexFunc("HelloWorld", f) != -1 {
        fmt.Println("Found special char") // false
    }
    if strings.IndexFunc("Hello World", f) != -1 {
        fmt.Println("Found special char") // true
    }
}</code>

Atas ialah kandungan terperinci Bagaimanakah anda Mengenalpasti Watak Khas dalam Rentetan dalam Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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