GO语言字符串处理函数之处理Strings包


Posted in Golang onApril 14, 2022

常用的字符串处理函数

(1) Contains

func Contains(s, substr string) bool

功能:字符串s中是否包含substr,返回bool值

演示如下:

//查找一个字符串在另一个字符串中是否出现
str1 := "hello world"
str2 := "g"
//Contains(被查找的字符串,查找的字符串)  返回值 bool
//一般用于模糊查找
b := strings.Contains(str1,str2)
//fmt.Println(b)
if b {
    fmt.Println("找到了")
}else {
    fmt.Println("没有找到")
}

(2) Join

func Join(a []string, sep string) string

功能:字符串链接,把slicea通过sep链接起来

演示如下:

//字符串切片
slice := []string{"123","456","789"}
//fmt.Println(slice)
//Join
//字符串的连接
str := strings.Join(slice,"")
fmt.Println(str)
//fmt.Printf("%T\n",str)

结果如下:

123456789

(3) Index

func Index(s, substr string) int

功能:在字符串s中查找sep所在的位置,返回位置值,找不到返回-1

str1 := "hello world"
str2 := "e"
//查找一个字符串在另一个字符串中第一次出现的位置 返回值  int  下标  -1 找不到
i := strings.Index(str1,str2)
fmt.Println(i)

结果如下:

1

(4) Repeat

func Repeat(s string, count int) string

功能:重复s字符串count次,最后返回重复的字符串

演示如下:

str := "性感网友,在线取名。"
//将一个字符串重复n次
str1 := strings.Repeat(str,100)
fmt.Println(str1)

(5) Replace

func Replace(s, old, new string, n int) string

功能:在s字符串中,把old字符串替换为new字符串,n表示替换的次数,小于0表示全部替换

str := "性感网友在线取名性感性感性感性感性感"
//字符串替换  屏蔽敏感词汇
//如果替换次数小于0 表示全部替换
str1 := strings.Replace(str,"性感","**",-1)
fmt.Println(str1)

结果如下:

**网友在线取名**********

(6) Split

func Split(s, sep string) []string

功能:把s字符串按照sep分割,返回slice

//将一个字符串按照标志位进行切割变成切片
str1 := "123456789@qq.com"
slice := strings.Split(str1,"@")
fmt.Println(slice[0])

结果如下:

123456789

(7) Trim

func Trim(s string, cutset string) string

功能:在s字符串的头部和尾部去除cutset指定的字符串

str := "====a===u=ok===="
//去掉字符串头尾的内容
str1:= strings.Trim(str,"=")
fmt.Println(str1)

结果如下:

a===u=ok

(8) Fields

func Fields(s string) []string

功能:去除s字符串的空格符,并且按照空格分割返回slice

str := "    are you ok    "
//去除字符串中空格  转成切片  一般用于统计单词个数
slice := strings.Fields(str)
fmt.Println(slice)

字符串转换

通过以上的讲解,发现字符串的处理是非常重要的,GO语言也提供了字符串与其它类型之间相互转换的函数。相应的字符串转换函数都在”strconv”包。

(1) Format

Format 系列函数把其他类型的转换为字符串。

//将其他类型转成字符串  Format
b := false
str := strconv.FormatBool(true)
fmt.Println(str)
fmt.Printf("%T\n",str)
str := strconv.FormatInt(120,10)  //计算机中进制 可以表示2-36  2  8  10 16
fmt.Println(str)
//   'f'打印方式   以小数方式    4 指小数位数  64  以float64处理
str:= strconv.FormatFloat(3.14159,'f',4,64)
fmt.Println(str)
str := strconv.Itoa(123)
fmt.Println(str)

(2) Parse

Parse 系列函数把字符串转换为其他类型

//字符串转成其他类型  Parse
b,err := strconv.ParseBool("true")
if err!=nil {
    fmt.Println("类型转换出错")
}else {
    fmt.Println(b)
    fmt.Printf("%T\n",b)
}
v,err := strconv.ParseInt("abc",16,64)
fmt.Println(v,err)
v,_ := strconv.ParseFloat("3.14159",64)
fmt.Println(v)
v,_:=strconv.Atoi("123")
fmt.Println(v)

(3) Append

Append 系列函数将整数等转换为字符串后,添加到现有的字节数组中。

slice := make([]byte,0,1024)
//将其他类型转成字符串 添加到字符切片里

slice = strconv.AppendBool(slice,false)
slice = strconv.AppendInt(slice,123,2)
slice = strconv.AppendFloat(slice,3.14159,'f',4,64)
slice = strconv.AppendQuote(slice,"hello")
fmt.Println(string(slice))

对应的结果是:

false11110113.1416"hello"

以上就是GO语言字符串处理Strings包的函数使用示例讲解的详细内!

Golang 相关文章推荐
golang 实现对Map进行键值自定义排序
Apr 28 Golang
Go使用协程交替打印字符
Apr 29 Golang
解决go在函数退出后子协程的退出问题
Apr 30 Golang
golang switch语句的灵活写法介绍
May 06 Golang
goland 设置project gopath的操作
May 06 Golang
Go语言并发编程 sync.Once
Oct 16 Golang
Go语言特点及基本数据类型使用详解
Mar 21 Golang
golang实现浏览器导出excel文件功能
Mar 25 Golang
Go 中的空白标识符下划线
Mar 25 Golang
Golang并发工具Singleflight
May 06 Golang
Go Grpc Gateway兼容HTTP协议文档自动生成网关
Jun 16 Golang
在ubuntu下安装go开发环境的全过程
Aug 05 Golang
golang的文件创建及读写操作
Apr 14 #Golang
golang定时器
Apr 14 #Golang
golang用type-switch判断interface的实际存储类型
Apr 14 #Golang
golang语言指针操作
Apr 14 #Golang
golang使用map实现去除重复数组
Apr 14 #Golang
golang生成并解析JSON
Apr 14 #Golang
Go语言 详解net的tcp服务
Apr 14 #Golang
You might like
PHP获取当前系统时间的方法小结
2018/10/03 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
javascript获取元素偏移量的方法有哪些
2014/06/24 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
用Python编写web API的教程
2015/04/30 Python
python比较2个xml内容的方法
2015/05/11 Python
初步讲解Python中的元组概念
2015/05/21 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
python3中property使用方法详解
2019/04/23 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
python处理写入数据代码讲解
2020/10/22 Python
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
英语专业毕业生自荐信范文
2013/12/31 职场文书
质量负责人任命书
2014/06/06 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
给校长的建议书作文300字
2015/09/14 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
详细介绍python类及类的用法
2021/05/31 Python
Python pygame实现中国象棋单机版源码
2021/06/20 Python