Какой эффективный способ обрезать начальные и конечные пробелы строковой переменной в 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 ", " "))
fmt.Printf("%q", strings.Trim("\t\t\t\t", `! \t`))
Это не работает
strings.TrimSpace(str)
?
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
Для обрезки вашей строки в пакете Go есть «строка» 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 .