golang strings包

转载 2013年12月04日 11:17:04
001 package main
002  
003 import (
004     "fmt"
005     "strings"
006     //"unicode/utf8"
007 )
008  
009 func main() {
010     fmt.Println("查找子串是否在指定的字符串中")
011     fmt.Println(" Contains 函数的用法")
012     fmt.Println(strings.Contains("seafood", "foo")) //true
013     fmt.Println(strings.Contains("seafood", "bar")) //false
014     fmt.Println(strings.Contains("seafood", ""))    //true
015     fmt.Println(strings.Contains("", ""))           //true 这里要特别注意
016     fmt.Println(strings.Contains("我是中国人", "我"))     //true
017  
018     fmt.Println("")
019     fmt.Println(" ContainsAny 函数的用法")
020     fmt.Println(strings.ContainsAny("team", "i"))        // false
021     fmt.Println(strings.ContainsAny("failure", "u & i")) // true
022     fmt.Println(strings.ContainsAny("foo", ""))          // false
023     fmt.Println(strings.ContainsAny("", ""))             // false
024  
025     fmt.Println("")
026     fmt.Println(" ContainsRune 函数的用法")
027     fmt.Println(strings.ContainsRune("我是中国", '我')) // true 注意第二个参数,用的是字符
028  
029     fmt.Println("")
030     fmt.Println(" Count 函数的用法")
031     fmt.Println(strings.Count("cheese", "e")) // 3
032     fmt.Println(strings.Count("five", ""))    // before & after each rune result: 5 , 源码中有实现
033  
034     fmt.Println("")
035     fmt.Println(" EqualFold 函数的用法")
036     fmt.Println(strings.EqualFold("Go", "go")) //大小写忽略
037  
038     fmt.Println("")
039     fmt.Println(" Fields 函数的用法")
040     fmt.Println("Fields are: %q", strings.Fields("  foo bar  baz   ")) //["foo" "bar" "baz"] 返回一个列表
041  
042     //相当于用函数做为参数,支持匿名函数
043     for _, record := range []string{" aaa*1892*122", "aaa\taa\t", "124|939|22"} {
044         fmt.Println(strings.FieldsFunc(record, func(ch rune) bool {
045             switch {
046             case ch > '5':
047                 return true
048             }
049             return false
050         }))
051     }
052  
053     fmt.Println("")
054     fmt.Println(" HasPrefix 函数的用法")
055     fmt.Println(strings.HasPrefix("NLT_abc", "NLT")) //前缀是以NLT开头的
056  
057     fmt.Println("")
058     fmt.Println(" HasSuffix 函数的用法")
059     fmt.Println(strings.HasSuffix("NLT_abc", "abc")) //后缀是以NLT开头的
060  
061     fmt.Println("")
062     fmt.Println(" Index 函数的用法")
063     fmt.Println(strings.Index("NLT_abc", "abc")) // 返回第一个匹配字符的位置,这里是4
064     fmt.Println(strings.Index("NLT_abc", "aaa")) // 在存在返回 -1
065     fmt.Println(strings.Index("我是中国人", "中"))     // 在存在返回 6
066  
067     fmt.Println("")
068     fmt.Println(" IndexAny 函数的用法")
069     fmt.Println(strings.IndexAny("我是中国人", "中")) // 在存在返回 6
070     fmt.Println(strings.IndexAny("我是中国人", "和")) // 在存在返回 -1
071  
072     fmt.Println("")
073     fmt.Println(" Index 函数的用法")
074     fmt.Println(strings.IndexRune("NLT_abc", 'b')) // 返回第一个匹配字符的位置,这里是4
075     fmt.Println(strings.IndexRune("NLT_abc", 's')) // 在存在返回 -1
076     fmt.Println(strings.IndexRune("我是中国人", '中'))   // 在存在返回 6
077  
078     fmt.Println("")
079     fmt.Println(" Join 函数的用法")
080     s := []string{"foo", "bar", "baz"}
081     fmt.Println(strings.Join(s, ", ")) // 返回字符串:foo, bar, baz
082  
083     fmt.Println("")
084     fmt.Println(" LastIndex 函数的用法")
085     fmt.Println(strings.LastIndex("go gopher", "go")) // 3
086  
087     fmt.Println("")
088     fmt.Println(" LastIndexAny 函数的用法")
089     fmt.Println(strings.LastIndexAny("go gopher", "go")) // 4
090     fmt.Println(strings.LastIndexAny("我是中国人", "中"))      // 6
091  
092     fmt.Println("")
093     fmt.Println(" Map 函数的用法")
094     rot13 := func(r rune) rune {
095         switch {
096         case r >= 'A' && r <= 'Z':
097             return 'A' + (r-'A'+13)%26
098         case r >= 'a' && r <= 'z':
099             return 'a' + (r-'a'+13)%26
100         }
101         return r
102     }
103     fmt.Println(strings.Map(rot13, "'Twas brillig and the slithy gopher..."))
104  
105     fmt.Println("")
106     fmt.Println(" Repeat 函数的用法")
107     fmt.Println("ba" + strings.Repeat("na", 2)) //banana
108  
109     fmt.Println("")
110     fmt.Println(" Replace 函数的用法")
111     fmt.Println(strings.Replace("oink oink oink", "k", "ky", 2))
112     fmt.Println(strings.Replace("oink oink oink", "oink", "moo", -1))
113  
114     fmt.Println("")
115     fmt.Println(" Split 函数的用法")
116     fmt.Printf("%q\n", strings.Split("a,b,c", ","))
117     fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a "))
118     fmt.Printf("%q\n", strings.Split(" xyz ", ""))
119     fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins"))
120  
121     fmt.Println("")
122     fmt.Println(" SplitAfter 函数的用法")
123     fmt.Printf("%q\n", strings.SplitAfter("/home/m_ta/src", "/")) //["/" "home/" "m_ta/" "src"]
124  
125     fmt.Println("")
126     fmt.Println(" SplitAfterN 函数的用法")
127     fmt.Printf("%q\n", strings.SplitAfterN("/home/m_ta/src", "/", 2))  //["/" "home/m_ta/src"]
128     fmt.Printf("%q\n", strings.SplitAfterN("#home#m_ta#src", "#", -1)) //["/" "home/" "m_ta/" "src"]
129  
130     fmt.Println("")
131     fmt.Println(" SplitN 函数的用法")
132     fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 1))
133  
134     fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 2))  //["/" "home/" "m_ta/" "src"]
135     fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", -1)) //["" "home" "m_ta" "src"]
136     fmt.Printf("%q\n", strings.SplitN("home,m_ta,src", ",", 2))   //["/" "home/" "m_ta/" "src"]
137  
138     fmt.Printf("%q\n", strings.SplitN("#home#m_ta#src", "#", -1)) //["/" "home/" "m_ta/" "src"]
139  
140     fmt.Println("")
141     fmt.Println(" Title 函数的用法") //这个函数,还真不知道有什么用
142     fmt.Println(strings.Title("her royal highness"))
143  
144     fmt.Println("")
145     fmt.Println(" ToLower 函数的用法")
146     fmt.Println(strings.ToLower("Gopher")) //gopher
147  
148     fmt.Println("")
149     fmt.Println(" ToLowerSpecial 函数的用法")
150  
151     fmt.Println("")
152     fmt.Println(" ToTitle 函数的用法")
153     fmt.Println(strings.ToTitle("loud noises"))
154     fmt.Println(strings.ToTitle("loud 中国"))
155  
156     fmt.Println("")
157     fmt.Println(" Replace 函数的用法")
158     fmt.Println(strings.Replace("ABAACEDF", "A", "a", 2)) // aBaACEDF
159     //第四个参数小于0,表示所有的都替换, 可以看下golang的文档
160     fmt.Println(strings.Replace("ABAACEDF", "A", "a", -1)) // aBaaCEDF
161  
162     fmt.Println("")
163     fmt.Println(" ToUpper 函数的用法")
164     fmt.Println(strings.ToUpper("Gopher")) //GOPHER
165  
166     fmt.Println("")
167     fmt.Println(" Trim  函数的用法")
168     fmt.Printf("[%q]", strings.Trim(" !!! Achtung !!! ", "! ")) // ["Achtung"]
169  
170     fmt.Println("")
171     fmt.Println(" TrimLeft 函数的用法")
172     fmt.Printf("[%q]", strings.TrimLeft(" !!! Achtung !!! ", "! ")) // ["Achtung !!! "]
173  
174     fmt.Println("")
175     fmt.Println(" TrimSpace 函数的用法")
176     fmt.Println(strings.TrimSpace(" \t\n a lone gopher \n\t\r\n")) // a lone gopher
177  
178 }

Golang strings 包 用法详解

package mainimport ( "fmt" "strings" //"unicode/utf8" )func main() { fmt.Println("查找...
  • u013542440
  • u013542440
  • 2016年05月05日 14:04
  • 1270

golang中strings包用法

本文转自Golove博客: strings 包中的函数和方法 // strings.go ---------------------------------------------------...
  • chenbaoke
  • chenbaoke
  • 2014年10月20日 21:11
  • 11612

golang strings包

001 package main 002   003 import ( 004     "fm...
  • zb_liang
  • zb_liang
  • 2013年12月04日 11:17
  • 1194

Go 标准库介绍一: strings

本文介绍Go 标准库 strings 常用导出函数,结构体及其方法。
  • sanxiaxugang
  • sanxiaxugang
  • 2017年03月04日 12:22
  • 934

golang strings包方法

想要了解更多,加QQ群72132378 package main import s "strings" //strings取个别名 import "fmt" //我们给 fmt.Println ...
  • ggy101600
  • ggy101600
  • 2016年10月21日 15:22
  • 119

Golang - strings 包

------------------------------------------------------------ strings 包与 bytes 包中的函数用法基本一样,不再赘述。 只对...
  • qq_32352565
  • qq_32352565
  • 2017年10月09日 18:32
  • 115

Golang--string操作

string到int int, err := strconv.Atoi(string) string到int64 int64, err := string.ParseInt(string, 10,...
  • Charles91
  • Charles91
  • 2017年05月10日 09:46
  • 1515

golang对字符串的操作

字符串操作在编程中占了很大的比重。package mainimport ( "bytes" "fmt" "strconv" "strings" "unicode...
  • cabing2005
  • cabing2005
  • 2017年03月06日 18:25
  • 461

Go常用包系列---strings包

strings包 函数 说明 strings.HasPrefix(s, prefix string) bool 判断字符串s是否以prefi...
  • Mervyn1205
  • Mervyn1205
  • 2015年04月14日 18:16
  • 2917

go语言 看代码,学strings包

package main import (     "fmt"     "strings"     //"unicode/utf8" ) func main() {     fmt.Println...
  • zistxym
  • zistxym
  • 2013年12月26日 14:16
  • 12417
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:golang strings包
举报原因:
原因补充:

(最多只允许输入30个字)