比如获得的API值需要去特殊符号
1、把字符串 s 左边的+ 右边的- 去掉
package main import ( "fmt" "strings" ) func main() { s := "++-+1234567-+--" //去除首部第一次匹配到的关于“+”符号的,和尾部第一次匹配到的关于“-“符号的字符 s1 := strings.TrimPrefix(s,"+") s2 := strings.TrimSuffix(s1,"-") fmt.Printf("%v\n", s2) //结果是:+-+1234567-+- }
2、去除首部匹配到的所有关于“+”符号(匹配不到截至),和尾部关于“-“符号的所有字符(匹配不到截至)
package main import ( "fmt" "strings" ) func main() { s := "++-+1234567-+--" //去除首部分关于“+”符号的,和尾部关于“-“符号的字符 s1 := strings.TrimLeft(s,"+") s2 := strings.TrimRight(s1,"-") fmt.Printf("%v\n", s2) //结果是:-+1234567-+ }
3、把所有符号全部去掉
使用strings.ReplaceAll 替换所有匹配的字符,如果把匹配到的字符全部替换成空格,相当于删除所有匹配的字符。
函数格式:
func ReplaceAll(s, old, new string) string • 1
例子:
package main import ( "strings" "fmt" ) func main() { str := "map[1,2,3,4,5,6]" str1 :=strings.ReplaceAll(str,"[","") str2 :=strings.ReplaceAll(str1,"map","") str3 := strings.ReplaceAll(str2,"]","") fmt.Println(str3) }
运行结果:1,2,3,4,5,6
4、修改指定次数匹配到的字符
函数格式:
func Replace(s, old, new string, n int) string
n代表匹配到的次数,如果n等于-1代表匹配所有字符
例子:
package main import ( "fmt" "strings" ) func main() { s := "Hello 世界!" s = strings.Replace(s, " ", ",", -1) //匹配所有空格替换成逗号 fmt.Println(s) //结果是:Hello,世界! /* s = strings.Replace(s, "", "|", -1) //把所有字符全部前面加竖杠 fmt.Println(s) //结果是:|H|e|l|l|o|,|世|界|!|*/ s = strings.Replace(s,"","/",2) //匹配前两次的字符替换成斜杠 fmt.Println(s) //结果是:/H/ello,世界! }