>  기사  >  백엔드 개발  >  Go 표준 라이브러리를 사용하여 비ASCII 텍스트 입력을 ASCII로 정규화하는 방법은 무엇입니까?

Go 표준 라이브러리를 사용하여 비ASCII 텍스트 입력을 ASCII로 정규화하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-24 07:22:02611검색

How to Normalize Non-ASCII Text Input to ASCII Using the Go Standard Library?

텍스트 입력을 ASCII로 정규화

많은 애플리케이션에는 사용자 입력을 구문 분석하고 쓰기 오류를 식별하는 기능이 필요합니다. 그러나 둥근 따옴표와 같은 비ASCII 문자를 처리하는 것은 어려울 수 있습니다.

stdlib로 문자열 대체

일반적인 접근 방식 중 하나는 함수에 문자열 대체를 사용하는 것입니다. 바이트와 ​​같습니다.교체하세요. 이 방법은 알려진 특정 문자에 효과적이지만 다양한 문자를 처리하는 데는 지루할 수 있습니다.

Strings.Map 함수 사용

Go 표준 라이브러리는 보다 다양한 솔루션을 제공합니다. strings.Map 함수를 사용하세요. 이 기능을 사용하면 룬(유니코드 코드 포인트)을 다른 룬에 매핑할 수 있습니다. 사용자 정의 매핑 기능을 정의하면 ASCII가 아닌 문자를 해당하는 ASCII 문자로 변환할 수 있습니다.

<code class="go">import (
    "fmt"
    "strings"
)

func normalize(in rune) rune {
    switch in {
    case '“', '‹', '”', '›':
        return '"'
    case '‘', '’':
        return '\''
    }
    return in
}

func main() {
    data := "Hello “Frank” or ‹François› as you like to be ‘called’"
    fmt.Printf("Original: %s\n", data)
    cleanedData := strings.Map(normalize, data)
    fmt.Printf("Cleaned: %s\n", cleanedData)
}</code>

출력:

Original: Hello “Frank” or ‹François› as you like to be ‘called’
Cleaned: Hello "Frank" or "François" as you like to be 'called'

위 내용은 Go 표준 라이브러리를 사용하여 비ASCII 텍스트 입력을 ASCII로 정규화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.