0.2.String常用函数(2018.02.11)

1.字符串操作:
使用之前请先引入:
import (
    "fmt"
     "strings"
)

1). ToUpper:将字符串s全部转为大写。
定义:
func ToUpper(s string) string {}
用法:
fmt.Println(strings.ToUpper("Gopher"))  //GOPHER


2). ToLower:将字符串s全部转为小写。
定义:
func ToLower(s string) string {}
用法:
fmt.Println(strings.ToLower("Gopher"))   //gopher


3). Contains:检查字符串s中是否包含字符串substr,返回bool值。
定义:
func Contains(s, substr string) bool {}
用法:
fmt.Println( strings.Contains(" seafood ", " foo "))   //true
fmt.Println( strings.Contains(" seafood ", " bar "))   //false
fmt.Println( strings.Contains(" seafood ", ""))      //true
fmt.Println( strings.Contains("", ""))             //true


4). Replace:在s字符串中,把old字符串替换为new字符串,n表示替换的次数,小于0表示全部替换。
定义:
func Replace(s, old, new string, n int) string {}
用法:
fmt.Println( strings.Replace(" oink oink oink ", " k ", " ky ",  2 ))        //oinky oinky oink
fmt.Println( strings.Replace(" oink oink oink ", " oink ", " moo ",  -1 ))     //moo moo moo


5.1). Trim:在s字符串的头部和尾部去除cutset指定的字符串。注意:该方法很强大,cutset每个字符将在头和尾逐一去掉。
定义:
func Trim(s string, cutset string) string {}
用法:
fmt.Printf("[%q]",  strings.Trim(" !!! Achtung !!! ", " ! "))   //["Achtung"]
//头部和尾部的"!"," ","A"都将去掉
fmt.Printf("[%q]",  strings.Trim("  !!! Achtung !!!  ", " ! A ")//["chtung"]

5.2). Fields:去除s字符串的空格符,并且按照空格分割返回slice。
定义:
func Fields(s string) []string {}
用法:
fmt.Printf("Fields are: %q", strings.Fields("  foo bar  baz   ") //Fields are: ["foo" "bar" "baz"]


6.1). Index:在字符串s中查找substr所在的位置,返回位置值,找不到返回-1。
定义:
func Index(s, substr string) int {}
用法:
fmt.Println( strings.Index(" chicken ", " ken ") //4
fmt.Println( strings.Index(" chicken ", " dmr "))   //-1

6.2). LastIndex:在字符串s中查找substr最后一次出现的位置,返回位置值,找不到返回-1。
定义:
func LastIndex(s, substr string) int {}
用法:
fmt.Println( strings.LastIndex(" go gopher ", " go ")// 3
fmt.Println( strings.LastIndex(" go gopher ", " hi ")// -1

6.3). HasPrefix:字符串s的前缀是否以字符串prefix开头。
定义:
func HasPrefix(s, prefix string) bool {}
用法:
fmt.Println(strings.HasPrefix("NLT_abc", "NLT"))  //true

6.4). HasSuffix:字符串s的前缀是否以字符串suffix结尾。
定义:
func HasSuffix(s, suffix string) bool {}
用法:
fmt.Println(strings.HasSuffix("NLT_abc", "abc")//true


7). EqualFold:比较字符串s和t是否相等,并且忽略大小写。
定义:
func EqualFold(s, t string) bool {}
用法:
fmt.Println(strings.EqualFold("Go", "go")) //true


8). Join:字符串链接,把slice a通过sep链接起来。
定义:
func Join(a []string, sep string) string {}
用法:
s := []string{"foo", "bar", "baz"}
fmt.Println( strings.Join( s , " "))    //foo, bar, baz


9.1). Split:把s字符串按照sep分割,返回slice。
定义:
func Split(s, sep string) []string {}
用法:
fmt.Printf("%q\n",  strings.Split(" a,b,c ", " , "))   //["a" "b" "c"]
fmt.Printf("%q\n",  strings.Split(" a man a plan a canal panama ", " ")  //["" "man " "plan " "canal panama"]
fmt.Printf("%q\n",  strings.Split("  xyz  ", ""))   //[" " "x" "y" "z" " "]
fmt.Printf("%q\n",  strings.Split("", " Bernardo O'Higgins "))   //[""]

9.2). SplitAfter:把s字符串按照sep分割,结果中包含 sep 本身,返回slice。
定义:
func SplitAfter(s, sep string) []string {}
用法:
fmt.Printf("%q\n", strings.SplitAfter("/home/test/src", "/")//["/" "home/" "test/" "src"]


10). Count:统计字符串s中包含子字符串substr的个数。
定义:
func Count(s, substr string) int {}
用法:
fmt.Println( strings.Count(" cheese ", " e ")// 3
fmt.Println( strings.Count(" five ", ""))     //5


11).
Repeat:重复s字符串count次,最后返回重复的字符串。
定义:
func Repeat(s string, count int) string {}
用法:
fmt.Println("ba" + strings.Repeat("na", 2) //banana



2.字符串转换:
使用之前请先引入:
import (
    "fmt"
     "strconv"
)

1). Append系列:将整数等转换为字符串后,添加到现有的字节数组中。
str := make([]byte, 0, 100)
str =  strconv.AppendInt( str 4567 , 10)  //以10进制方式追加
str =  strconv.AppendBool( str false )
str =  strconv.AppendQuote( str , " abcdefg ")  //追加多个字符
str =  strconv.AppendQuoteRune( str , ' ')  //只能追加一个字符
fmt.Println( string( str ) //4567false"abcdefg"'单'


2). Format系列:把其他类型的转换为字符串。
a :=  strconv.FormatBool( false )
b :=  strconv.FormatInt( 1234 , 10)   //10表示按照10进制转换
c :=  strconv.FormatUint( 12345 , 10)  //10表示按照10进制转换
d :=  strconv.Itoa( 1023 )    //常用
fmt.Println(a, b, c, d)   //false 1234 12345 1023


3). Parse系列:把字符串转换为其他类型。
a, err :=  strconv.ParseBool(" false ")
b, err :=  strconv.ParseFloat(" 123.23 ", 64)  //64表示64位存储
c, err :=  strconv.ParseInt(" 1234 ", 10, 64)  //10表示按照10进制转换,64表示64位存储
d, err :=  strconv.ParseUint(" 12345 ", 10, 64)  //10表示按照10进制转换,64表示64位存储
e, err :=  strconv.Atoi(" 1023 ")  //常用
fmt.Println(a, b, c, d, e)  //false 123.23 1234 12345 1023











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值