go语言字符串相关处理函数:
package main import ( "fmt" "strconv" "strings" ) func main() { hasPrefix()//判断字符串s是否以prefix开头 。 hasSuffix()//判断字符串s是否以suffix结尾。 index()//判断str在s中首次出现的位置,如果没有出现,则返回-1 lastIndex()//判断str在s中最后出现的位置,如果没有出现,则返回-1 replace()//字符串替换 count()//字符串计数 repeat()//重复count次str toLower()//转为小写 toUpper()//转为大写 trimSpace()//去掉字符串首尾空白字符 trim()//去掉字符串首尾cut字符 trimLeft()//去掉字符串首cut字符 trimRight()//去掉字符串尾cut字符 fields()//返回str空格分隔的所有子串的slice split()//返回str split分隔的所有子串的slice join()//用sep把s1中的所有元素链接起来 itoa()//把一个整数i转成字符串 atoi()//把一个字符串转成整数 } func hasPrefix() { url := "www.baidu.com" fmt.Println("判断一个url是否以http://开头,如果不是,则加上http://:: ") result := strings.HasPrefix(url, "http://") fmt.Println(result) if !result { url = fmt.Sprintf("http://%s", url) } fmt.Println(url) } func hasSuffix() { path := "www.baidu.com" fmt.Println("判断一个路径是否以“/”结尾,如果不是,则加上/:: ") result := strings.HasSuffix(path, "/") fmt.Println(result) if !result { path = fmt.Sprintf("%s/", path) } fmt.Println(path) } func index() { str := "www.baidu.com" fmt.Println("判断str在s中首次出现的位置,如果没有出现,则返回-1:: ") result := strings.Index(str, "w") fmt.Println(result) } func lastIndex() { str := "www.baidu.com" fmt.Println("判断str在s中最后出现的位置,如果没有出现,则返回-1:: ") result := strings.LastIndex(str, "y") fmt.Println(result) } func replace() { str := "www.baidu.com" fmt.Println("字符串替换:: ") result := strings.Replace(str, "w", "q", 2) fmt.Println(result) } func count() { str := "www.baidu.com" fmt.Println("字符串计数:: ") result := strings.Count(str, "ww") fmt.Println(result) } func repeat() { str := "www.baidu.com" fmt.Println("重复count次字符串:: ") result := strings.Repeat(str, 3) fmt.Println(result) } func toLower() { str := "www.BaiDu.cOm" fmt.Println("转成小写字符串:: ") result := strings.ToLower(str) fmt.Println(result) } func toUpper() { str := "www.baiDu.com" fmt.Println("转成大写字符串:: ") result := strings.ToUpper(str) fmt.Println(result) } func trimSpace() { str := " www.baiDu.com " fmt.Println("去掉字符串首尾空白字符串:: ") result := strings.TrimSpace(str) fmt.Println(result) } func trim() { str := "abbacba" fmt.Println("去掉字符串首尾cut字符串:: ") result := strings.Trim(str, "ab") //注意,不分顺序 fmt.Println(result) } func trimLeft() { str := "nwww.baiDu.comn" fmt.Println("去掉字符串首cut字符串:: ") result := strings.TrimLeft(str, "n") fmt.Println(result) } func trimRight() { str := "nwww.baiDu.comn" fmt.Println("去掉字符串尾cut字符串:: ") result := strings.TrimRight(str, "n") fmt.Println(result) } func fields() { str := "abd bac wdc rsxx" fmt.Println("返回str空格分隔的所有子串的slice:: ") result := strings.Fields(str) fmt.Println(result) } func split() { str := "ascedcrfcyg" fmt.Println("转成数组,返回str split分隔的所有子串的slice,同PHP中的explode:: ") result := strings.Split(str, "c") fmt.Println(result) } func join() { arr := []string{"a","s","as"} fmt.Println("转成字符串,用sep把s1中的所有元素链接起来,同PHP中的implode:: ") result := strings.Join(arr, ",") fmt.Println(result) } func itoa() { int := 112 fmt.Println("把一个整数i转成字符串:: ") result := strconv.Itoa(int) fmt.Println(result) fmt.Printf("%T ",result) } func atoi() { str := "123426" fmt.Println("把一个字符串转成整数:: ") result,err := strconv.Atoi(str) fmt.Println(result) fmt.Println(err) fmt.Printf("%T ",result) }
遇到再新增。
一个反转字符串的栗子:
var str string fmt.Scanf("%s",&str) reverse := func(str string) string { var result string strlen := len(str) for i := 0; i < strlen; i++ { result = result + fmt.Sprintf("%c", str[strlen-i-1]) } return result }(str) fmt.Println("reverse string =", reverse)
判断字符串是否存在: strings.Contains(目标查找字符串, 要查找字符串)