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中semaphore(信号量)源码
Apr 03 Golang
基于go interface{}==nil 的几种坑及原理分析
Apr 24 Golang
win10下go mod配置方式
Apr 25 Golang
Go语言带缓冲的通道实现
Apr 26 Golang
golang 接口嵌套实现复用的操作
Apr 29 Golang
完美解决golang go get私有仓库的问题
May 05 Golang
Golang标准库syscall详解(什么是系统调用)
May 25 Golang
Golang二维数组的使用方式
May 28 Golang
Go 通过结构struct实现接口interface的问题
Oct 05 Golang
golang生成vcf通讯录格式文件详情
Mar 25 Golang
GO语言异常处理分析 err接口及defer延迟
Apr 14 Golang
详解Go语言中Get/Post请求测试
Jun 01 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
jquery提升性能最佳实践小结
2010/12/06 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
Python生成器实现简单"生产者消费者"模型代码实例
2020/03/27 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
老师自我鉴定范文
2013/12/25 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
天鹅湖观后感
2015/06/09 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle