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语言-在mac下brew升级golang
Apr 25 Golang
Go语言中的UTF-8实现
Apr 26 Golang
golang import自定义包方式
Apr 29 Golang
浅谈Golang 切片(slice)扩容机制的原理
Jun 09 Golang
使用GO语言实现Mysql数据库CURD的简单示例
Aug 07 Golang
Go 语言中 20 个占位符的整理
Oct 16 Golang
浅谈GO中的Channel以及死锁的造成
Mar 18 Golang
golang为什么要统一错误处理
Apr 03 Golang
Golang 并发编程 SingleFlight模式
Apr 26 Golang
Go语言入门exec的基本使用
May 20 Golang
Go Grpc Gateway兼容HTTP协议文档自动生成网关
Jun 16 Golang
基于Python实现西西成语接龙小助手
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+java实现自动新闻滚动窗口
2006/10/09 PHP
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
一道JS前端闭包面试题解析
2015/12/25 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
详解webpack loader和plugin编写
2018/10/12 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
业务员薪酬管理制度
2014/01/15 职场文书
你的创业计划书怎样才能打动风投
2014/02/06 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
《少年闰土》教学反思
2016/02/18 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python