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 02 Golang
Go语言-为什么返回值为接口类型,却返回结构体
Apr 24 Golang
go语言求任意类型切片的长度操作
Apr 26 Golang
解决Golang中goroutine执行速度的问题
May 02 Golang
完美解决golang go get私有仓库的问题
May 05 Golang
GoLang中生成UUID唯一标识的实现
May 08 Golang
Golang 实现获取当前函数名称和文件行号等操作
May 08 Golang
golang操作redis的客户端包有多个比如redigo、go-redis
Apr 14 Golang
Go语言安装并操作redis的go-redis库
Apr 14 Golang
Go 内联优化让程序员爱不释手
Jun 21 Golang
GO中sync包自由控制并发示例详解
Aug 05 Golang
Go gorilla securecookie库的安装使用详解
Aug 14 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+MySql编写聊天室
2006/10/09 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
Python中random模块用法实例分析
2015/05/19 Python
深入学习python的yield和generator
2016/03/10 Python
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
Python求出0~100以内的所有素数
2018/01/23 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
python 字典套字典或列表的示例
2019/12/16 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
Python3开发环境搭建详细教程
2020/06/18 Python
详解Python yaml模块
2020/09/23 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
班级聚会策划书
2014/01/16 职场文书
《学会看病》教学反思
2016/02/17 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python
如何理解python接口自动化之logging日志模块
2021/06/15 Python
Spring整合Mybatis的全过程
2021/06/28 Java/Android
MySQL笔记 —SQL运算符
2022/01/18 MySQL