[go] 문자열의 앞뒤 공백을 자르는 방법?

Go에서 문자열 변수의 선행 및 후행 공백을 자르는 효과적인 방법은 무엇입니까?



답변

예를 들어

package main

import (
    "fmt"
    "strings"
)

func main() {
    s := "\t Hello, World\n "
    fmt.Printf("%d %q\n", len(s), s)
    t := strings.TrimSpace(s)
    fmt.Printf("%d %q\n", len(t), t)
}

산출:

16 "\t Hello, World\n "
12 "Hello, World"


답변

문자열을 다듬는 기능이 많이 있습니다.

그들을 참조하십시오 : 트림

다음은 선행 및 후행 공백을 제거하고 문서에서 수정 한 예입니다.

fmt.Printf("[%q]", strings.Trim(" Achtung  ", " "))


답변

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.TrimSpace(" \t\n Hello, Gophers \n\t\r\n"))
}

출력 : 안녕하세요, 고퍼

그리고이 링크를 따르십시오-https: //golang.org/pkg/strings/#TrimSpace


답변

당신의 문자열을 트리밍을 위해, 이동의 “문자열”패키지가 TrimSpace(), Trim()트림 선행 및 후행 공백이 함수를.

자세한 내용 은 설명서 를 확인 하십시오.


답변

@Kabeer가 언급했듯이 TrimSpace를 사용할 수 있으며 다음은 golang 설명서의 예입니다.

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.TrimSpace(" \t\n Hello, Gophers \n\t\r\n"))
}


답변

@peterSO가 정답입니다. 여기에 더 많은 예제를 추가하고 있습니다.

package main

import (
    "fmt"
    strings "strings"
)

func main() {
    test := "\t pdftk 2.0.2  \n"
    result := strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))

    test = "\n\r pdftk 2.0.2 \n\r"
    result = strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))

    test = "\n\r\n\r pdftk 2.0.2 \n\r\n\r"
    result = strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))

    test = "\r pdftk 2.0.2 \r"
    result = strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))
}

Go lang playground 에서도 찾을 수 있습니다 .


답변