strings包实现了用于操作字符的简单函数。

func EqualFold

判断两个utf-8编码字符串(将unicode大写、小写、标题三种格式字符视为相同)是否相同。

func EqualFold(s, t string) bool

示例:

func main() {

	str1 := "Golang"
str2 := "golang" fmt.Println(strings.EqualFold(str1, str2)) //输出: true
}

HasPrefix

判断s是否有前缀字符串prefix。

func HasPrefix(s, prefix string) bool

示例:

func main() {

	var str string = "Hello"

	fmt.Println(strings.HasPrefix(str, "He")) //true
fmt.Println(strings.HasPrefix(str, "he")) //false
}

func HasSuffix

判断s是否有后缀字符串suffix。

func HasSuffix(s, suffix string) bool

示例:

func main() {

	var str = "Hello"

	fmt.Println(strings.HasSuffix(str, "llo")) //true
fmt.Println(strings.HasSuffix(str, "ll")) //false
}

func Contains

判断字符串s是否包含子串substr。

func Contains(s, substr string) bool

示例:

func main() {

	var str = "中国,台湾"

	fmt.Println(strings.Contains(str, "台湾")) //true
fmt.Println(strings.Contains(str, "日本")) //false
}

func ContainsRune

判断字符串s是否包含utf-8码值r。

func ContainsRune(s string, r rune) bool

示例:

func main() {

	var r rune = '中'
var str = "中国" fmt.Println(strings.ContainsRune(str, r)) //true
fmt.Println(strings.ContainsRune(str, '日')) //false
}

func ContainsAny

判断字符串s是否包含字符串chars中的任一字符。

func ContainsAny(s, chars string) bool

示例:

func main() {

	var s = "我爱你,中国"
var chars = "我爱你"
var test = "日" fmt.Println(strings.ContainsAny(s, chars)) //true
fmt.Println(strings.ContainsAny(s, test)) //false
}

func Count

返回substr在字符串s中出现的次数,如果substr是一个空字符串,则返回字符串s的unicode长度+1

func Count(s, substr string) int

示例:

func main() {

	var s    = "Jack,This is 龙"
var seq1 = "is"
var seq2 = "龙"
var seq3 = ""
fmt.Println("字符串s的长度为:", utf8.RuneCountInString(s))
fmt.Println(strings.Count(s, seq1)) //2
fmt.Println(strings.Count(s, seq2)) //1
fmt.Println(strings.Count(s, seq3)) //15 }

func Index

子串substr在字符串s中第一次出现的位置,不存在则返回-1。

func Index(s, substr string) int

示例:

func main() {

	var s       = "hello,world"
var substr = "o"
var substr2 = "a"
fmt.Println(strings.Index(s, substr)) //4
fmt.Println(strings.Index(s, substr2)) //-1 }

func IndexByte

字符c在s中第一次出现的位置,不存在则返回-1。

func IndexByte(s string, c byte) int

示例:

func main() {

	var s       = "hello,world"
var c1 byte = 'o'
var c2 byte = 'a'
fmt.Println(strings.IndexByte(s, c1)) //4
fmt.Println(strings.IndexByte(s, c2)) //-1 }

Go语言strings包的更多相关文章

  1. Go语言基础包之net/http

    Go语言基础包之net/http Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现. net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的 ...

  2. R语言-神经网络包RSNNS

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  3. Golang学习 - strings 包

    ------------------------------------------------------------ strings 包与 bytes 包中的函数用法基本一样,不再赘述. 只对 R ...

  4. R语言-Knitr包的详细使用说明

    R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...

  5. R语言dplyr包初探

    昨天学了一下R语言dplyr包,处理数据框还是很好用的.记录一下免得我忘记了... 先写一篇入门的,以后有空再写一篇详细的用法. #dplyr learning library(dplyr) #fil ...

  6. 19-03【golang】strings包

    golang的strings包提供了字符串操作的一系列函数.下面做个简单介绍 函数 用法 备注 Compare(a,b sring) 比较两个字符串   Contains(s, substr stri ...

  7. R语言 ggplot2包

    R语言  ggplot2包的学习   分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...

  8. R语言扩展包dplyr——数据清洗和整理

    R语言扩展包dplyr——数据清洗和整理 标签: 数据R语言数据清洗数据整理 2015-01-22 18:04 7357人阅读 评论(0) 收藏 举报  分类: R Programming(11)  ...

  9. go语言path包和filepath包的学习与使用

    path包的使用 package main; import ( "fmt" "path" ) //go语言path包的学习 func main() { //返回 ...

随机推荐

  1. python实现邮件的发送

    一.163邮箱设置 进入163邮箱,点击设置中的pop3/smtp/imap 开启smtp服务,如果没有开启,点击设置,手机号验证后勾选开启即可,开启后图如下: 主要用到的就是smtp服务器:smtp ...

  2. github 用git bash上传项目 最后提示 Everything up-to-date 但没传上去

    今天为了把本地的项目远程到githup远程仓库,把好久不用的githup命令重新用了起来,不用怀疑,很正常的出错了. 为了长点记性,总结错误与解决办法如下: 1.我犯得第一个简单错误,是忘了git c ...

  3. [爬虫]爬虫时碰到的IOError: [Errno ftp error] [Errno 10060]错误的原因以及解决方法

    IOError: [Errno ftp error] [Errno 10060] 原因是爬取页面过快造成暂时被网站ban掉的情况,设置time.sleep(1)就好,后来发现ban的时间不定,就自己动 ...

  4. 浅谈Java中的final关键字

    浅谈Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  5. Mave手动安装jar包

    今天配置Maven项目时有一个相应的jdbc驱动jar包导不进去,就自己导入了. 首先在官网上下载该jar包,地址为http://mvnrepository.com/ 点击jar下载. 用maven命 ...

  6. synchronized和volatile简介

    简介 volatile是一个变量修饰符,而synchronized是一个方法或块的修饰符.所以我们使用这两种关键字来指定三种简单的存取变量的方式. 2345678 int i1;int geti1() ...

  7. C++11标准中常用到的各种算法汇总.

    在C++11标准中定义了很多算法,这些算法可以让我们很方便的操作各种容器和数组,这里要注意一下,这些算法操作的并非容器,而是迭代器,然后通过迭代器来操作容器中的数据,算法本身并不会关注容器中保存的数据 ...

  8. 【缩点+拓扑判链】POJ2762 Going from u to v or from v to u?

    Description In order to make their sons brave, Jiajia and Wind take them to a big cave. The cave has ...

  9. BZOJ_1433_[ZJOI2009]假期的宿舍_二分图匹配

    BZOJ_1433_[ZJOI2009]假期的宿舍_二分图匹配 题意: 学校放假了······有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如A 和B都是学校的学生,A要回 ...

  10. FTRL(Follow The Regularized Leader)学习总结

    摘要: 1.算法概述 2.算法要点与推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 FTRL是一种适用于处理超大规模数据的,含大量稀疏特征的在线学习的 ...