funcMap(mapping func(rune)rune, s string)string// Map函数,将s的每一个字符按照mapping的规则做映射替换,如果mapping的返回值<0,则舍弃该字符。
mapping :=func(r rune)rune{switch{case r >='A'&& r <='Z'://大写转小写return r +32case r >='a'&& r <='z':return r
case unicode.Is(unicode.Han,r)://汉子换行return'\n'}return-1//过去掉其他字符}// 用new 替换old, 一共替换n次,如果n<0,全部替换funcReplace(s,old,newstring,n int)stringfuncReplaceAll(s,old,newstring)string//全部替换
大小写转换
// 大小写转换funcToLower(s string)stringfuncToUpper(s string)string// 特殊字符的大小写转换funcToLowerSpecial(c unicode.SpecialCase, s string)stringfuncToUpperSpecial(c unicode.SpecialCase, s string)string// 每个单词首字母转为大写funcTitle(s string)stringfuncToTitle(s string)string// 全部转为大写funcToTitleSpical(c unicode.SpecialCase,s string)string//全部转为大写,包括处理特殊字符
修剪
// 将s的左右侧的匹配cutset中的任一字符的字符去掉funcTrim(s string, cutset string)stringfuncTrimLeft(s string,cutset string)stringfuncTrimRight(s string,cutset string)stringfuncTrimPrefix(s string,prefix string)stringfuncTrimSuffix(s string,suffix string)stringfuncTrimSpace(s string)stringfuncTrimFunc(s string, f func(rune)bool)stringfuncTrimLeftFunc(s string, f func(rune)bool)stringfuncTrimRightFunc(s string, f func(rune)bool)string
Replacer类型
// 不定参数old new 对,然后如果参数长度为奇数会导致panic
r := strings.NewReplacer("<","&;t;",">",">",">")// r为Replacer的指针类型// 替换
fmt.Println(r.Replace("this is <b>HTML</b>")
字符串比较// 比较大小, // a > b 1// a < b -1// a = b 0func Compare(a, b string) int// 忽略大小写后是否相等func EqualFold(s,t string) bool是否存在某个字符或子串// 子串substr 是否在s中func Contains(s, substr string) bool// chars 中任何一个 unicode 代码点在 s 中,返回truefunc ContainsAny(