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中ResponseWriter的一个坑
Apr 27 Golang
golang goroutine顺序输出方式
Apr 29 Golang
golang elasticsearch Client的使用详解
May 05 Golang
golang switch语句的灵活写法介绍
May 06 Golang
解决Goland 同一个package中函数互相调用的问题
May 06 Golang
解决goland 导入项目后import里的包报红问题
May 06 Golang
golang 实用库gotable的具体使用
Jul 01 Golang
Go Plugins插件的实现方式
Aug 07 Golang
深入理解go slice结构
Sep 15 Golang
如何利用golang运用mysql数据库
Mar 13 Golang
Golang流模式之grpc的四种数据流
Apr 13 Golang
Golang 字符串的常见操作
Apr 19 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 文件上传功能实现代码
2009/06/24 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
比较详细的javascript对象的property和prototype是什么一种关系
2007/08/06 Javascript
JQuery学习笔录 简单的JQuery
2012/04/09 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
微信小程序网络请求wx.request详解及实例
2017/05/18 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
python字符串编码识别模块chardet简单应用
2015/06/15 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
大学生学期自我鉴定
2014/03/19 职场文书
幼儿园评语大全
2014/04/17 职场文书
六一亲子活动总结
2014/07/01 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书