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语言中break label与goto label的区别
Apr 28 Golang
Golang实现AES对称加密的过程详解
May 20 Golang
Go timer如何调度
Jun 09 Golang
go select编译期的优化处理逻辑使用场景分析
Jun 28 Golang
Go语言基础切片的创建及初始化示例详解
Nov 17 Golang
golang生成vcf通讯录格式文件详情
Mar 25 Golang
golang为什么要统一错误处理
Apr 03 Golang
golang连接MySQl使用sqlx库
Apr 14 Golang
golang的文件创建及读写操作
Apr 14 Golang
GO语言字符串处理函数之处理Strings包
Apr 14 Golang
Golang MatrixOne使用介绍和汇编语法
Apr 19 Golang
Go gRPC进阶教程gRPC转换HTTP
Jun 16 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继承的一个应用
2011/09/06 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
jQuery 数据缓存模块进化史详细介绍
2012/11/19 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
python数据结构之列表和元组的详解
2017/09/23 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
2020/08/05 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
新闻系毕业生推荐信
2013/11/16 职场文书
自我评价200字分享
2013/12/17 职场文书
三峡人家导游词
2015/01/31 职场文书
赢在执行观后感
2015/06/16 职场文书
小学教师见习总结
2015/06/23 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
Redis+Lua脚本实现计数器接口防刷功能(升级版)
2022/02/12 Redis
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers