比如获得的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
例子:
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,世界!
}