fmt.Println( "查找子串是否在指定的字符串中" ) |
fmt.Println( " Contains 函数的用法" ) |
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 这里要特别注意 |
fmt.Println(strings.Contains( "我是中国人" , "我" )) //true |
fmt.Println( " ContainsAny 函数的用法" ) |
fmt.Println(strings.ContainsAny( "team" , "i" )) // false |
fmt.Println(strings.ContainsAny( "failure" , "u & i" )) // true |
fmt.Println(strings.ContainsAny( "foo" , "" )) // false |
fmt.Println(strings.ContainsAny( "" , "" )) // false |
fmt.Println( " ContainsRune 函数的用法" ) |
fmt.Println(strings.ContainsRune( "我是中国" , '我' )) // true 注意第二个参数,用的是字符 |
fmt.Println( " Count 函数的用法" ) |
fmt.Println(strings.Count( "cheese" , "e" )) // 3 |
fmt.Println(strings.Count( "five" , "" )) // before & after each rune result: 5 ,源码中有实现 |
fmt.Println( " EqualFold 函数的用法" ) |
fmt.Println(strings.EqualFold( "Go" , "go" )) //大小写忽略 |
fmt.Println( " Fields 函数的用法" ) |
fmt.Println( "Fields are: %q" ,strings.Fields( " foo bar baz " )) //["foo" "bar" "baz"] 返回一个列表 |
for
_,record := range []string{ " aaa*1892*122" , "aaa\taa\t" , "124|939|22" } { |
fmt.Println(strings.FieldsFunc(record,func(ch rune) bool { |
fmt.Println( " HasPrefix 函数的用法" ) |
fmt.Println(strings.HasPrefix( "NLT_abc" , "NLT" )) //前缀是以NLT开头的 |
fmt.Println( " HasSuffix 函数的用法" ) |
fmt.Println(strings.HasSuffix( "NLT_abc" , "abc" )) //后缀是以NLT开头的 |
fmt.Println( " Index 函数的用法" ) |
fmt.Println(strings.Index( "NLT_abc" , "abc" )) // 返回第一个匹配字符的位置,这里是4 |
fmt.Println(strings.Index( "NLT_abc" , "aaa" )) // 在存在返回 -1 |
fmt.Println(strings.Index( "我是中国人" , "中" )) // 在存在返回 6 |
fmt.Println( " IndexAny 函数的用法" ) |
fmt.Println(strings.IndexAny( "我是中国人" , "中" )) // 在存在返回 6 |
fmt.Println(strings.IndexAny( "我是中国人" , "和" )) // 在存在返回 -1 |
fmt.Println( " Index 函数的用法" ) |
fmt.Println(strings.IndexRune( "NLT_abc" , 'b' )) // 返回第一个匹配字符的位置,这里是4 |
fmt.Println(strings.IndexRune( "NLT_abc" , 's' )) // 在存在返回 -1 |
fmt.Println(strings.IndexRune( "我是中国人" , '中' )) // 在存在返回 6 |
fmt.Println( " Join 函数的用法" ) |
s := []string{ "foo" , "bar" , "baz" } |
fmt.Println(strings.Join(s, "," )) // 返回字符串:foo,bar,baz
|
fmt.Println( " LastIndex 函数的用法" ) |
fmt.Println(strings.LastIndex( "go gopher" , "go" )) // 3 |
fmt.Println( " LastIndexAny 函数的用法" ) |
fmt.Println(strings.LastIndexAny( "go gopher" , "go" )) // 4 |
fmt.Println(strings.LastIndexAny( "我是中国人" , "中" )) // 6 |
fmt.Println( " Map 函数的用法" ) |
rot13 := func(r rune) rune { |
return
'A' + (r- 'A' +13)%26 |
return
'a' + (r- 'a' +13)%26 |
fmt.Println(strings.Map(rot13, "'Twas brillig and the slithy gopher..." )) |
fmt.Println( " Repeat 函数的用法" ) |
fmt.Println( "ba"
+ strings.Repeat( "na" ,2)) //banana |
fmt.Println( " Replace 函数的用法" ) |
fmt.Println(strings.Replace( "oink oink oink" , "k" , "ky" ,2)) |
fmt.Println(strings.Replace( "oink oink oink" , "oink" , "moo" ,-1)) |
fmt.Println( " Split 函数的用法" ) |
fmt.Printf( "%q\n" ,strings.Split( "a,b,c" , "," )) |
fmt.Printf( "%q\n" ,strings.Split( "a man a plan a canal panama" , "a " )) |
fmt.Printf( "%q\n" ,strings.Split( " xyz " , "" )) |
fmt.Printf( "%q\n" ,strings.Split( "" , "Bernardo O'Higgins" )) |
fmt.Println( " SplitAfter 函数的用法" ) |
fmt.Printf( "%q\n" ,strings.SplitAfter( "/home/m_ta/src" , "/" )) //["/" "home/" "m_ta/" "src"] |
fmt.Println( " SplitAfterN 函数的用法" ) |
fmt.Printf( "%q\n" ,strings.SplitAfterN( "/home/m_ta/src" , "/" ,2)) //["/" "home/m_ta/src"] |
fmt.Printf( "%q\n" ,strings.SplitAfterN( "#home#m_ta#src" , "#" ,-1)) //["/" "home/" "m_ta/" "src"] |
fmt.Println( " SplitN 函数的用法" ) |
fmt.Printf( "%q\n" ,strings.SplitN( "/home/m_ta/src" , "/" ,1)) |
fmt.Printf( "%q\n" ,strings.SplitN( "/home/m_ta/src" , "/" ,2)) //["/" "home/" "m_ta/" "src"] |
fmt.Printf( "%q\n" ,strings.SplitN( "/home/m_ta/src" , "/" ,-1)) //["" "home" "m_ta" "src"] |
fmt.Printf( "%q\n" ,strings.SplitN( "home,m_ta,src" , "," ,2)) //["/" "home/" "m_ta/" "src"] |
fmt.Printf( "%q\n" ,strings.SplitN( "#home#m_ta#src" , "#" ,-1)) //["/" "home/" "m_ta/" "src"] |
fmt.Println( " Title 函数的用法" ) //这个函数,还真不知道有什么用 |
fmt.Println(strings.Title( "her royal highness" )) |
fmt.Println( " ToLower 函数的用法" ) |
fmt.Println(strings.ToLower( "Gopher" )) //gopher |
fmt.Println( " ToLowerSpecial 函数的用法" ) |
fmt.Println( " ToTitle 函数的用法" ) |
fmt.Println(strings.ToTitle( "loud noises" )) |
fmt.Println(strings.ToTitle( "loud 中国" )) |
fmt.Println( " Replace 函数的用法" ) |
fmt.Println(strings.Replace( "ABAACEDF" , "A" , "a" ,2)) // aBaACEDF |
//第四个参数小于0,表示所有的都替换, 可以看下golang的文档 |
fmt.Println(strings.Replace( "ABAACEDF" , "A" , "a" ,-1)) // aBaaCEDF |
fmt.Println( " ToUpper 函数的用法" ) |
fmt.Println(strings.ToUpper( "Gopher" )) //GOPHER |
fmt.Println( " Trim 函数的用法" ) |
fmt.Printf( "[%q]" ,strings.Trim( " !!! Achtung !!! " , "! " )) // ["Achtung"] |
fmt.Println( " TrimLeft 函数的用法" ) |
fmt.Printf( "[%q]" ,strings.TrimLeft( " !!! Achtung !!! " , "! " )) // ["Achtung !!! "] |
fmt.Println( " TrimSpace 函数的用法" ) |
fmt.Println(strings.TrimSpace( " \t\n a lone gopher \n\t\r\n" )) // a lone gopher |
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理