Go_String常用操作

2023-05-16

字符串操作:

len:统计字符串的长度

func main() {
	str := "English中文"
	fmt.Println("str的长度为:", len(str)) // 13,中文3个字节
}

查找子串是否在指定的字符串中:

func main() {
	fmt.Println(strings.Contains("itzhuzhu", "zhuzhu")) // true
	fmt.Println(strings.Contains("itzhuzhu", "Hello"))  // false
}

统计一个字符串有几个指定的子串 :

func main() {
	fmt.Println(strings.Count("aaabbbccc", "abcabc"))    // 0
	fmt.Println(strings.Count("aaabbbccc", "aaabbbccc")) //1
}

字符串比较(==是区分大小写,EqualFold是不区分大小写)

func main() {
	var x string = "ITzhuzhu"
	var y string = "itzhuzhu"
	fmt.Println(strings.EqualFold(x, y)) //true
	fmt.Println(x == y)                  //false
}

返回子串在字符串第一次出现的索引,如果没有则返回-1:

func main() {
	fmt.Println(strings.Index("ITzhuzhu", "I"))      // 0
	fmt.Println(strings.Index("ITzhuzhu", "IT"))     // 0
	fmt.Println(strings.Index("ITzhuzhu", "ITZ"))    // -1
	fmt.Println(strings.Index("ITzhuzhu", "zhuzhu")) // 2
}

返回子串在字符串最后一次出现的索引,如果没有返回-1:

func main() {
	fmt.Println(strings.LastIndex("ITzhuzhu", "IT"))  // 0
	fmt.Println(strings.LastIndex("ITzhuzhu", "zhu")) // 5
	fmt.Println(strings.LastIndex("ITzhuzhu", "u"))   // 7
}

将指定的子串替换成另外一个子串:

func main() {
	// 参数1:字符串,参数2:要替换的字符串,参数3,替换后的字符串,参数4,替换几个,-1是全部,1是第一个,2是第二个,以此类推
	fmt.Println(strings.Replace("itzhuzhu", "z", "Z", 1))  // itZhuzhu
	fmt.Println(strings.Replace("itzhuzhu", "z", "Z", -1)) // itZhuZhu
}

按照指定的分割标识,将字符串拆分为字符串数组

func main() {
	s := strings.Split("it,zhu,zhu", ",")
	fmt.Printf("%T,%v", s, s) // []string,[it zhu zhu]
}

将字符串的字母进行大小写的转换:

func main() {
	// ToLower:转为小写,ToUpper:转为大写
	fmt.Printf(strings.ToLower("ITZHUZHU\n")) // itzhuzhu
	fmt.Printf(strings.ToUpper("itzhuzhu"))   // ITZHUZHU
}

将字符串左右两边的空格去掉:

func main() {
	fmt.Printf(strings.TrimSpace(" IT ZHU ZHU ")) // IT ZHU ZHU 只能去掉两边的空格,中间的去不掉
}

将字符串左右两边指定的字符删除:

func main() {
	// 删除两边指定的字符     参数1:原字符串,参数2:要去掉的字符
	fmt.Println(strings.Trim("&%IT ZHU ZHU&%*(」", "&%*(」"))      //IT ZHU ZHU
  // 删除左边指定的字符
	fmt.Println(strings.TrimLeft("&%IT ZHU ZHU&%*(」", "&%"))     //IT ZHU ZHU&%*(」
  // 删除右边指定的字符
	fmt.Println(strings.TrimRight("&%IT ZHU ZHU&%*(」", "&%*(」")) //&%IT ZHU ZHU
}

判断字符串是否以指定的字符串开头:

func main() {
	// 判断是不是以www开头的,返回值是bool
	fmt.Println(strings.HasPrefix("www.itzhuzhu.com", "www.")) // true
	// 判断是不是com结尾
	fmt.Println(strings.HasSuffix("www.itzhuzhu.com", "www"))  // false
	fmt.Println(strings.HasSuffix("www.itzhuzhu.com", ".com")) // true
}

更多的还是去官方文档里去看:https://studygolang.com/pkgdoc
在这里插入图片描述

Contains:

判断字符串中是否包含指定字符串

func main() {
	str := "itzhuzhu"
	result := strings.Contains(str, "zhu")
	fmt.Println(result) // true
}

join:

字符串连接

func main() {
	str := []string{"a", "b", "c", "d", "e", "f"}
	join := strings.Join(str, "")
	fmt.Println("join:", join) // join: abcdef
}

Index:

查找指定字符串所在的位置,返回索引,找不到返回-1

func main() {
	str := "itzhuzhu"
	result := strings.Index(str, "zhu")
	fmt.Println("result:", result)  // result: 2
}

Repeat:

重复字符串次数,返回重复的字符串

func main() {
	str := "itzhuzhu"
	result := strings.Repeat(str, 3)
	fmt.Println("result:", result)   // result: itzhuzhuitzhuzhuitzhuzhu
}

Replace:

func Replace(s, old, new string, n int) string
在s字符串中,把old字符串替换为new string字符串,n表示替换的次数,小于0表示全部替换

func main() {
	str := "itzhuzhu"
	strings.Replace(str, "z", "Z", 1)// 替换第一个
	strings.Replace(str, "z", "Z", -1)// 全部替换
}

输出:

itZhuzhu
itZhuZhu

Split:

字符串分割,返回切片

func main() {
	str := "itzhuzhu@163.com"
	split := strings.Split(str, "@")
	fmt.Println("split:", split)  // split: [itzhuzhu 163.com]
}

Trim:

func Trim(s string, cutset string) string
在s字符串的头部和尾部去除cutset指定的字符串

func main() {
	str := "  itzhuzhu@163.com  "
	trim := strings.Trim(str, " ") // 去掉两头空格
	fmt.Println("trim:", trim)
}

Fields:

去除字符串的空格符,并且按照空格分割返回slice

func main() {
	str := "  itzhuzhu@163.com  "
	fields := strings.Fields(str)
	fmt.Println("fields:", fields)  // fields: [itzhuzhu@163.com]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go_String常用操作 的相关文章

  • Spring MVC的异常处理和友好页面

    加油 xff0c 新时代打工人 xff01 Spring MVC详细环境配置和入门 Spring MVC 响应数据和结果视图 SpringMVC实现三种文件上传的方式 实现之前把Spring MVC环境配置完成 xff0c 参考以上文章 S
  • oh-my-posh 配置

    官网 oh my poshpowershell windows 安装 oh my posh winget span class token function install span JanDeDobbeleer OhMyPosh 初始化设
  • matplotlib 点线动画

    matplotlib 点线动画 作者的Github 主写 Web Development HTML PHP CSS JS node js Ruby Sketchup API Python Tkinter Django Matplotlib
  • Ocelot+Identity Server

    一 搭建一个ID4 IdServer NetCore API 认证服务器项目 1 1 在该项目中添加Nuget包 vs2 1版本安装IdentityServer4 2 5 3版本 1 2 在ID4 IdServer项目中新建一个Config
  • twitter输不了密码_如何更改您的Twitter密码

    twitter输不了密码 You should use a strong password for every important web service you have While Twitter may not be up there
  • 不忘初心牢记使命文化励志标语墙贴——个性一百剪纸

    不忘初心牢记使命手工剪纸 个性一百定制服务中心 xff0c 可快速定制各类家居家具用品 工艺礼品 图案造型 xff0c 提供从构思到设计到制作一条龙服务 xff0c 您敢想我们敢做 不忘初心牢记使命绘画贴纸 我们不局限于某种商品 xff0c
  • 升级系统的curl命令到最新版

    1 安装repo rpm Uvh http www city fan org ftp contrib yum repo rhel6 x86 64 city fan org release 2 1 rhel6 noarch rpm 2 查看该
  • Mybatis TooManyResultsException问题可能原因及解决方案

    Mybatis TooManyResultsException问题可能原因及解决方案 可能原因 配置文件的对应语句中使用了resultType而非resultMap对应的interface中的返回值并非使用List数据库问题 解决方案 更改
  • 一键关机 / 重启脚本

    关机 span class token shebang important bin bash span span class token builtin class name echo span span class token strin
  • chromium报错: ./chrome: error while loading shared libraries: *** 解决方法

    注 xff1a 笔者所使用系统为Ubuntu2004 首先推荐一个神奇网站 此网站可查询ubuntu所有缺少包的安装方法 一口气装所有缺少的包 xff1a apt install y libatk1 0 0 libatk bridge2 0
  • ubuntu 获取root权限超简单方法

    以下解决上述问题 1 打开终端ctrl 43 alt 43 T输入 sudo s 2 重新设置root密码 3 切换root用户登录 su root 如果之后安装软件因为权限问题 xff0c 直接切换并输入密码即可
  • Java异常详解及自定义异常

    我已经不用 try catch 处理异常了 xff01 太烦人了 51CTO博客 try catch处理什么异常 一 异常的概念 1 定义 xff08 什么是异常 xff1f xff09 异常是例外 xff0c 是一个程序在执行期间发生的事
  • Archlinux 安装、美化、软件入门(一)

    本文章可能更新不及时 xff0c 前往我的博客阅读 xff0c 阅读体验更佳 xff1a https jin dan oier space 前言 本文只适用于 UEFI 引导 本文适用于从 Windows 迁移到 Archlinux 本文作
  • Archlinux 安装、美化、软件入门(二)

    本文章可能更新不及时 xff0c 前往我的博客阅读 xff0c 阅读体验更佳 xff1a https jin dan oier space 0x01 备份数据 使用 微PE 和 DiskGenius 工具进行数据备份和分区克隆 由于在 PE
  • Archlinux 安装、美化、软件入门(三)

    本文章可能更新不及时 xff0c 前往我的博客阅读 xff0c 阅读体验更佳 xff1a https jin dan oier space 0x03 安装系统 从U盘启动 待完善 连接Wi Fi xff08 有线用户直接跳过 xff09 输
  • 如何在笔记本电脑触摸板上进行中键单击

    Most laptop touchpads make it possible to perform a middle click but not all do In some situations you may need to enabl
  • Archlinux 安装、美化、软件入门(五)

    本文章可能更新不及时 xff0c 前往我的博客阅读 xff0c 阅读体验更佳 xff1a https jin dan oier space 0x07 系统美化 GRUB 美化 挑选喜欢的主题并下载 在 Gnome look 网站可以找到 G
  • 系统提示E: Unable to correct problems, you have held broken packages.错误解决

    系统提示E Unable to correct problems you have held broken packages 上网求答 xff0c 发现网上很多人选择用 aptitude xff0c 但是这个一般比较危险 xff0c 并不推
  • Linux kernel升级(详)

    环境 xff1a 系统版本 xff1a CentOS Linux release 7 4 1708 Core 内核版本 xff1a 3 10 0 693 el7 x86 64 内核由3 10升级5 4 升级说明 xff1a Linux Ke
  • stm32之蓝牙模块HC-05使用

    参考资料 xff1a 常用模块 HC 05蓝牙串口通信模块使用详解 xff08 实例 xff1a 手机蓝牙控制STM32单片机 xff09 HC 05蓝牙模块使用教程 HC 05蓝牙模块使用记录 补充与理解 xff1a 套餐有两个板子 一个

随机推荐

  • 2021-09-28->HttpClientUtil 工具包

    span class token keyword package span span class token namespace com span class token punctuation span ruoyi span class
  • 微信通知方法

    span class token comment 微信通知 span span class token function wxMessage span span class token punctuation span userId spa
  • 2021-09-29->微信支付

    接下来看微信支付jsapi接口是怎么调用的 步骤一 xff1a 获取微信支付四大参数 首先要想支持微信支付 必须拥有两个账号 微信公众平台 xff1a 账户 公众APPID xff0c APPSECEPT xff0c 微信商户平台商户ID
  • 20以为加减法

    span class token keyword for span span class token punctuation span span class token keyword int span i span class token
  • coturn服务配置

    COTURN服务配置 准备工作 一台带有公网ip的服务器 xff08 coturn服务部署在具有公网ip的服务器上 xff09 下载coturn wget https span class token operator span span
  • BigDecimal 精确算法 工具类

    BigDecimal a 61 new BigDecimal 101 BigDecimal b 61 new BigDecimal 111 使用compareTo方法比较 注意 xff1a a b均不能为null xff0c 否则会报空指针
  • wsappx_什么是“ wsappx”,为什么在我的PC上运行它?

    wsappx The wsappx process is part of Windows 8 and 10 and you may see it running in the background or even using a signi
  • python获取文件路径、文件夹内所有文件

    python获取文件路径 文件夹内所有文件名字 项目内相对路径 在test12 py内 想获取其所在文件夹的所有的表格文件 windows 第一种方案 34 34 34 获取路径 34 34 34 def list dir file dir
  • MySQL-常用内置函数(字符串、数值、日期、流程)

    字符串函数 xff1a 函数作用CONCAT str1 str2 拼接字符串 xff0c 返回拼接后的字符串LENGTH str 返回字符串字节长度 xff0c 注意是字节 xff0c 中文占3个LEFT str len 返回从最左边截取到
  • MySQL-基础语法DDL、DML、DQL、DCL

    DDL xff1a DDL Data Definition Language 数据库定义语言用来定义数据库对象 xff1a 数据库 xff0c 表 xff0c 列等 关键字 xff1a create drop alter 等 语法 DML语
  • VMware安装虚拟机Mac版

    VMware xff1a 1 不需要分区或重开机就能再同一台PC上使用多种操作系统 2 完全隔离并且保护不同操作系统的环境以及所有软件 资料 3 不同的操作系统之间还能互动操作 4 有复原功能 5 能够设置并且随时修改操作系统的操作环境 下
  • JSON转换工具

    JSON的处理 xff1a JSON JavaScript Object Notation xff1a 是一种轻量级的数据交换格式 它是基于 ECMAScript 规范的一个子集 xff0c 采用完全独立于编程语言的文本格式来存储和表示数据
  • MacOS Apple M1 安装ARM架构的JDK及动态切换版本

    JDK下载安装 xff1a 咱就是说 xff0c ARM版本的JDK就是一个字 xff0c 真特么快 xff0c 想变快吗 xff0c 赶紧下载叭 xff01 xff01 1 下载地址 xff1a https www azul com do
  • Go_详解TCP协议三次握手四次挥手

    三次握手 xff1a 三次握手表示建立通信阶段 xff0c 在TCP协议中 xff0c 在发送数据的准备阶段 xff0c 客户端与服务器之间的三次交互 xff0c 以保证连接的可靠 xff0c 由于这种面向连接的特性 xff0c TCP协议
  • Go_常量、iota(枚举)的使用

    常量 常量是在程序运行过程中 xff0c 其值不可以发生改变的数据 xff0c 常量无法被获取地址 常量中的数据类型能是布尔型 数字型 xff08 整型 浮点型和复数型 xff09 字符串 常量的定义是通过const关键字完成的 xff0c
  • Go_反射的使用

    反射可以在运行时动态地检查变量和类型 xff0c 并且可以调用变量和类型的方法 获取和修改变量的值和类型等 使用反射可以使程序更加灵活 xff0c 但也需要谨慎使用 基于反射的代码是极其脆弱的 xff0c 反射中的类型错误会在真正运行的时候
  • 登录注册页怎么做

    app常见页面 xff1a 引导页 xff1a 概念 xff1a 第一次安装App或者更新App后第一次打开App时所展示的可以滑动的页面 作用 xff1a 主要是用于展示产品本身的一些核心功能点或者特色 启动页 xff1a 概念 xff1
  • win10安装appx工具_如何在Windows 10上安装.Appx或.AppxBundle软件

    win10安装appx工具 Microsoft s new Universal Windows Platform applications use the Appx or AppxBundle file format They re nor
  • 本地mysql数据库开启远程访问

    本地mysql数据库开启远程访问 1 开启远程访问端口 3306端口 依次点击控制面板 系统和安全 windows防火墙 高级设置 入站规则 xff1b 设置端口为3306 一直点下一步 xff1b PS xff1a 入站 xff1a 别人
  • Go_String常用操作

    字符串操作 xff1a len xff1a 统计字符串的长度 span class token keyword func span span class token function main span span class token p