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
解决Golang中ResponseWriter的一个坑
Apr 27 Golang
golang json数组拼接的实例
Apr 28 Golang
Golang 空map和未初始化map的注意事项说明
Apr 29 Golang
golang 实现Location跳转方式
May 02 Golang
Go标准容器之Ring的使用说明
May 05 Golang
go语言中fallthrough的用法说明
May 06 Golang
Go Plugins插件的实现方式
Aug 07 Golang
Go 语言中 20 个占位符的整理
Oct 16 Golang
Go语言基础函数基本用法及示例详解
Nov 17 Golang
如何利用golang运用mysql数据库
Mar 13 Golang
Go并发4种方法简明讲解
Apr 06 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目录管理函数小结
2008/09/10 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
jquery实现图片上传之前预览的方法
2015/07/11 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
javascript流程控制语句集合
2017/09/18 Javascript
详解Node全局变量global模块
2017/09/28 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
教你搭建按需加载的Vue组件库(小结)
2019/07/29 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
Python 定义只读属性的实现方式
2020/03/05 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
大三在校生电子商务求职信
2013/10/29 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
德育标兵事迹材料
2014/08/24 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
高一地理教学工作总结
2015/08/12 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技