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


176

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


4
온라인 설명서는 진행 상황을 정확하게 설명하고 실행 가능하고 편집 가능한 예제를 제공합니다!
Volker

나는 이것이 "루비 스트립 golang"로 검색 할 수 있습니다 소원
kangkyu

답변:


267

예를 들어

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"

"\ t Hello, \ nWorld \ n"작동하지 않습니다 :( ... 어떻게 줄 바꿈을 제거합니까?
KingRider

8
여전히 시작과 끝을 잘라내지만 중간에서 줄 바꿈을 제거하지는 않습니다. 문자열 중간에 줄 바꿈을 제거하려면 대체 또는 이와 비슷한 것을 사용해야합니다.
구스타보 포시도 니오

34

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

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

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

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

2
\ t \ n 자르는 방법? fmt.Printf("%q", strings.Trim("\t\t\t\t", `! \t`))작동하지 않습니다
tom10271

5
@aokaddaoc 시도 strings.TrimSpace(str)했습니까?
Ahmed T. Ali


7

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

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


0

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

package main

import (
    "fmt"
    "strings"
)

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

0

@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 에서도 찾을 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.