«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как идентифицировать специальные символы в строках в Golang?

Как идентифицировать специальные символы в строках в Golang?

Опубликовано 15 ноября 2024 г.
Просматривать:416

How do you Identify Special Characters in Strings in Golang?

Идентификация специальных символов в строках в Golang

В GoLang проверка специальных символов в строке требует определенных методов. При обнаружении строки, полученной в результате пользовательского ввода, для обеспечения ее достоверности часто необходимо проверить отсутствие вредоносных или нежелательных символов. В этой статье рассматриваются два подхода к обнаружению специальных символов в строках.

Метод 1: использование strings.ContainsAny()

Функция strings.ContainsAny() определяет, содержит ли строка какой-либо символ из предоставленного набор персонажей. Чтобы проверить наличие специальных символов, передайте в функцию строку и набор специальных символов. Например:

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
}

Метод 2: использование strings.IndexFunc()

Для проверки того, содержит ли строка символы, отличные от ASCII, полезно использовать strings.IndexFunc(). Он возвращает индекс первого символа, удовлетворяющего предоставленной функции. Передайте функцию, которая проверяет, находится ли символ за пределами диапазона символов ASCII:

package main

import (
    "fmt"
    "strings"
)

func main() {
    f := func(r rune) bool {
        return 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
    }
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3