package main
import (
"fmt"
"math"
"regexp"
"strconv"
"strings"
)
func main() {
stringToTrim := "\t\t\n Go \tis\t Awesome \t\t"
trimResult := strings.TrimSpace(stringToTrim)
fmt.Println(trimResult)
stringWithSpaces := "\t\t\n Go \tis\n Awesome \t\t"
r := regexp.MustCompile("\\s+")
replace := r.ReplaceAllString(stringWithSpaces, " ")
fmt.Println(replace)
needSpace := "need space"
fmt.Println(pad(needSpace, 14, "CENTER"))
fmt.Println(pad(needSpace, 14, "LEFT"))
}
func pad(input string, padLen int, align string) string {
inputLen := len(input)
if inputLen >= padLen {
return input
}
repeat := padLen - inputLen
var output string
switch align {
case "RIGHT":
output = fmt.Sprintf("% "+strconv.Itoa(-padLen)+"s", input)
case "LEFT":
output = fmt.Sprintf("% "+strconv.Itoa(padLen)+"s", input)
case "CENTER":
bothRepeat := float64(repeat) / float64(2)
left := int(math.Floor(bothRepeat)) + inputLen
right := int(math.Ceil(bothRepeat))
output = fmt.Sprintf("% "+strconv.Itoa(left)+"s% "+strconv.Itoa(right)+"s", input, "")
}
return output
}
/*
Go is Awesome
Go is Awesome
need space
need space
*/
2.11 whitespace 去掉空格
Posted cucy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.11 whitespace 去掉空格相关的知识,希望对你有一定的参考价值。
以上是关于2.11 whitespace 去掉空格的主要内容,如果未能解决你的问题,请参考以下文章