Golang

[Golang]문자열 양쪽 여백 혹은 문자(들) 삭제(Trim)하기

stayhungri 2022. 7. 15. 00:10

문자열 양 끝에 있는 여백(White Space)를 삭제하거나 특정 문자(들)을 삭제를 해야할 때가 있습니다.

사용자로부터 받은 입력값을 DB에 저장할 때가 그런 상황 중 하나이죠. 이럴 때 strings 패키지에서 제공하는 Trimx 함수들을 사용하면 됩니다.

 

func stringTrim() {
	s := "  abc defg  "
	fmt.Printf("string     : \"%s\"\n", s)
	fmt.Printf("trim left  : \"%s\"\n", strings.TrimLeft(s, " "))
	fmt.Printf("trim right : \"%s\"\n", strings.TrimRight(s, " "))
	fmt.Printf("trim space : \"%s\"\n", strings.TrimSpace(s))
	fmt.Printf("trim       : \"%s\"\n\n", strings.Trim(s, " "))

	s2 := "--abc defg--"
	fmt.Printf("string           : \"%s\"\n", s2)
	fmt.Printf("trim prefix('-')  : \"%s\"\n", strings.TrimPrefix(s2, "-"))
	fmt.Printf("trim suffix('-')  : \"%s\"\n", strings.TrimSuffix(s2, "-"))
	fmt.Printf("trim       ('-')  : \"%s\"\n", strings.Trim(s2, "-"))
}

string     : "  abc defg  "
trim left  : "abc defg  "
trim right : "  abc defg  "
trim space : "abc defg"
trim       : "abc defg"

string           : "--abc defg--"
trim prefix('-')  : "-abc defg--"
trim suffix('-')  : "--abc defg-"
trim       ('-')  : "abc defg"

 

TrimPrefix와 TrimSuffix 는 매칭하는 싶은 문자(들)을 각각 시작과 끝 쪽에서 1번만 삭제하고, 나머지 함수들은 매칭하는 문자(들)을 모두 삭제합니다. TrimSpace는 여백 이외에 아래 해당하는 것들을 삭제합니다.

'\t', '\n', '\v', '\f', '\r', ' ', 0x85, 0xA0