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语言中json数据的读取和写出操作
Apr 28 Golang
golang json数组拼接的实例
Apr 28 Golang
解决goland 导入项目后import里的包报红问题
May 06 Golang
GoLang中生成UUID唯一标识的实现
May 08 Golang
Golang标准库syscall详解(什么是系统调用)
May 25 Golang
golang fmt格式“占位符”的实例用法详解
Jul 04 Golang
go使用Gin框架利用阿里云实现短信验证码功能
Aug 04 Golang
golang 语言中错误处理机制
Aug 30 Golang
golang的文件创建及读写操作
Apr 14 Golang
Golang bufio详细讲解
Apr 21 Golang
Go调用Rust方法及外部函数接口前置
Jun 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的安全策略
2006/10/09 PHP
php&java(一)
2006/10/09 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
你必须知道的Javascript知识点之"this指针"的应用
2013/04/23 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
从零开始搭建一个react项目开发
2018/02/09 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
Python制作Windows系统服务
2017/03/25 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
分析Python中解析构建数据知识
2018/01/20 Python
python conda操作方法
2019/09/11 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
公职人员索取回扣检举信
2014/04/04 职场文书
班级团队活动方案
2014/08/14 职场文书
学位证书委托书
2014/09/30 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
大学运动会加油稿
2015/07/22 职场文书