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 相关文章推荐
Go语言-为什么返回值为接口类型,却返回结构体
Apr 24 Golang
彻底理解golang中什么是nil
Apr 29 Golang
Golang 语言控制并发 Goroutine的方法
Jun 30 Golang
golang中字符串MD5生成方式总结
Jul 04 Golang
go开发alertmanger实现钉钉报警
Jul 16 Golang
详解Golang如何优雅的终止一个服务
Mar 21 Golang
Golang数据类型和相互转换
Apr 12 Golang
golang的文件创建及读写操作
Apr 14 Golang
Golang 链表的学习和使用
Apr 19 Golang
Golang map映射的用法
Apr 22 Golang
Golang实现可重入锁的示例代码
May 25 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下使用SimpleXML 处理XML 文件
2010/02/27 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python写的一个文本编辑器
2014/01/23 Python
Python实现约瑟夫环问题的方法
2016/05/03 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Python批量更改文件名的实现方法
2017/10/29 Python
Python 线性回归分析以及评价指标详解
2020/04/02 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
迟到检讨书大全
2014/01/25 职场文书
中班中秋节活动反思
2014/02/18 职场文书
征兵宣传标语
2014/06/20 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
工程款申请报告
2015/05/15 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
Python采集壁纸并实现炫轮播
2022/04/30 Python
Redis高并发缓存架构性能优化
2022/05/15 Redis