Golang의 문자열에서 중복된 공백과 공백을 제거하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-15 06:01:02
원래의
669명이 탐색했습니다.

How to Remove Duplicated Spaces and Whitespace from Strings in Golang?

Golang의 문자열에서 중복된 공백 및 공백 제거

Golang의 문자열에서 선행/후행 공백과 중복 공백을 모두 제거하려면 문자열을 활용할 수 있습니다 package.

  1. 선행/후행 공백 제거:

strings.TrimSpace() 함수는 개행 문자를 포함하여 선행 및 후행 공백을 제거합니다. 그리고 null 문자.

trimmedString := strings.TrimSpace(originalString)
로그인 후 복사
  1. 중복 공백 제거:

중복 공백을 제거하려면 strings.Fields()를 사용할 수 있습니다. 이 함수는 문자열을 공백 문자로 분할하여 부분 문자열 조각을 만듭니다.

formattedString := strings.Join(strings.Fields(originalString), " ")
로그인 후 복사

국제 공백 문자 처리:

국제 공백 문자를 처리하려면 다음을 수행합니다. 유니코드 지원을 사용하세요. 다음 코드는 unicode.IsSpace() 함수를 사용하여 다양한 공백 문자를 확인합니다.

func standardizeSpacesUnicode(s string) string {
    var buffer bytes.Buffer
    for _, r := range s {
        if unicode.IsSpace(r) {
            if buffer.Len() == 0 || buffer.Bytes()[buffer.Len()-1] != ' ' {
                buffer.WriteRune(r)
            }
        } else {
            buffer.WriteRune(r)
        }
    }
    return buffer.String()
}
로그인 후 복사

사용 예:

package main

import (
    "fmt"
    "strings"
)

func main() {
    tests := []string{
        " Hello,   World  ! ",
        " Hello,\tWorld ! ",
        " \t\n\t Hello,\tWorld\n!\n\t",
        "你好,世界!", // Unicode test
    }

    for _, test := range tests {
        trimmed := strings.TrimSpace(test)
        formatted := strings.Join(strings.Fields(test), " ")
        standardizedUnicode := standardizeSpacesUnicode(test)

        fmt.Println("Original:", test)
        fmt.Println("Trimmed:", trimmed)
        fmt.Println("Formatted:", formatted)
        fmt.Println("Standardized Unicode:", standardizedUnicode)
        fmt.Println()
    }

}
로그인 후 복사

출력:

Original:  Hello,   World  !
Trimmed:  Hello, World !
Formatted:  Hello World !
Standardized Unicode: Hello World !

Original:  Hello,\tWorld !
Trimmed:  Hello, World !
Formatted:  Hello World !
Standardized Unicode: Hello World !

Original:   \t\n\t Hello,\tWorld\n!\n\t
Trimmed:  Hello, World!
Formatted:  Hello World!
Standardized Unicode: Hello World!

Original:  你好,世界!
Trimmed:  你好,世界!
Formatted:  你好 世界!
Standardized Unicode: 你好 世界!
로그인 후 복사

위 내용은 Golang의 문자열에서 중복된 공백과 공백을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿