Go语言strings标准库

strings包

参考资料

常用函数

函数功能备注
EqualFold(s, t string) bool判断两个utf-8编码字符串(将unicode大写、小写、标题三种格式字符视为相同)是否相同。
HasPrefix(s, prefix string) bool判断s是否有前缀字符串prefix
HasSuffix(s, suffix string) bool判断s是否有后缀字符串suffix
Contains(s, substr string) bool判断字符串s是否包含子串substr
ContainsRune(s string, r rune) bool判断字符串s是否包含utf-8(rune)码值r
ContainsAny(s, chars string) bool判断字符串s是否包含字符串chars中的任一字符
Count(s, sep string) int返回字符串s中有几个不重复的sep子串

位置查询函数

函数功能备注
Index(s, sep string) int子串sep在字符串s中第一次出现的位置,不存在则返回-1
IndexByte(s string, c byte) int字符c在s中第一次出现的位置,不存在则返回-1
IndexRune(s string, r rune) intunicode码值r在s中第一次出现的位置,不存在则返回-1
IndexAny(s, chars string) int字符串chars中的任一utf-8码值在s中第一次出现的位置,如果不存在或者chars为空字符串则返回-1
IndexFunc(s string, f func(rune) bool) ints中第一个满足函数f的位置i(该处的utf-8码值r满足f®==true),不存在则返回-1
LastIndex(s, sep string) int子串sep在字符串s中最后一次出现的位置,不存在则返回-1LastIndexAny(s, chars string) int
LastIndexFunc(s string, f func(rune) bool) ints中最后一个满足函数f的unicode码值的位置i,不存在则返回-1
Title(s string) string返回s中每个单词的首字母都改为标题格式的字符串拷贝

转换函数

函数功能备注
ToLower(s string) string返回将所有字母都转为对应的小写版本的拷贝
ToLowerSpecial(_case unicode.SpecialCase, s string) string使用_case规定的字符映射,返回将所有字母都转为对应的小写版本的拷贝
ToUpper(s string) string返回将所有字母都转为对应的大写版本的拷贝
ToUpperSpecial(_case unicode.SpecialCase, s string) string使用_case规定的字符映射,返回将所有字母都转为对应的大写版本的拷贝
ToTitle(s string) string返回将所有字母都转为对应的标题版本的拷贝
ToTitleSpecial(_case unicode.SpecialCase, s string) string使用_case规定的字符映射,返回将所有字母都转为对应的大写版本的拷贝
Repeat(s string, count int) string返回count个s串联的字符串
Replace(s, old, new string, n int) string返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串
Map(mapping func(rune) rune, s string) string将s的每一个unicode码值r都替换为mapping®,返回这些新码值组成的字符串拷贝。如果mapping返回一个负值,将会丢弃该码值而不会被替换

去除、切分函数

函数功能备注
Trim(s string, cutset string) string返回将s前后端所有cutset包含的utf-8码值都去掉的字符串
TrimSpace(s string) string返回将s前后端所有空白(unicode.IsSpace指定)都去掉的字符串
TrimFunc(s string, f func(rune) bool) string返回将s前后端所有满足f的unicode码值都去掉的字符串
TrimLeft(s string, cutset string) string返回将s前端所有cutset包含的utf-8码值都去掉的字符串
TrimLeftFunc(s string, f func(rune) bool) string返回将s前端所有满足f的unicode码值都去掉的字符串
TrimPrefix(s, prefix string) string返回去除s可能的前缀prefix的字符串
TrimRight(s string, cutset string) string返回将s后端所有cutset包含的utf-8码值都去掉的字符串
TrimRightFunc(s string, f func(rune) bool) string返回将s后端所有满足f的unicode码值都去掉的字符串
TrimSuffix(s, suffix string) string返回去除s可能的后缀suffix的字符串
Fields(s string) []string返回将字符串按照空白(unicode.IsSpace确定,可以是一到多个连续的空白字符)分割的多个字符串切片
FieldsFunc(s string, f func(rune) bool) []string类似Fields,但使用函数f来确定分割符(满足f的unicode码值)
Split(s, sep string) []string用去掉s中出现的sep的方式进行分割,会分割到结尾,并返回生成的所有片段组成的切片(每一个sep都会进行一次切割,即使两个sep相邻,也会进行两次切割)。如果sep为空字符,Split会将s切分成每一个unicode码值一个字符串。
SplitN(s, sep string, n int) []string用去掉s中出现的sep的方式进行分割,会分割到结尾,并返回生成的所有片段组成的切片(每一个sep都会进行一次切割,即使两个sep相邻,也会进行两次切割)。如果sep为空字符,Split会将s切分成每一个unicode码值一个字符串。参数n决定返回的切片的数目:n > 0 : 返回的切片最多n个子字符串;最后一个子字符串包含未进行切割的部分。n == 0: 返回nil。n < 0 : 返回所有的子字符串组成的切片
SplitAfter(s, sep string) []string用从s中出现的sep后面切断的方式进行分割,会分割到结尾,并返回生成的所有片段组成的切片(每一个sep都会进行一次切割,即使两个sep相邻,也会进行两次切割)。如果sep为空字符,Split会将s切分成每一个unicode码值一个字符串。
SplitAfterN(s, sep string, n int) []string用从s中出现的sep后面切断的方式进行分割,会分割到结尾,并返回生成的所有片段组成的切片(每一个sep都会进行一次切割,即使两个sep相邻,也会进行两次切割)。如果sep为空字符,Split会将s切分成每一个unicode码值一个字符串。参数n决定返回的切片的数目:n > 0 : 返回的切片最多n个子字符串;最后一个子字符串包含未进行切割的部分。n == 0: 返回nil。n < 0 : 返回所有的子字符串组成的切

联合函数

函数功能备注
Join(a []string, sep string) string将一系列字符串连接为一个字符串,之间用sep来分隔

Reader接收器

Reader类型通过从一个字符串读取数据,实现了io.Reader、io.Seeker、io.ReaderAt、io.WriterTo、io.ByteScanner、io.RuneScanner接口。

函数功能备注
NewReader(s string) *Reader创建一个从s读取数据的Reader
(r *Reader) Len() int返回r包含的字符串还没有被读取的部分
(r *Reader) Read(b []byte) (n int, err error)实现了io.Reader接口
(r *Reader) ReadByte() (b byte, err error)实现io.ByteReader接口
(r *Reader) UnreadByte() error实现 io.ByteScanner接口
(r *Reader) ReadRune() (ch rune, size int, err error)实现io.RuneReader接口
(r *Reader) UnreadRune() error实现io.RuneScanner接口
(r *Reader) Seek(offset int64, whence int) (int64, error)实现io.Seeker接口
(r *Reader) ReadAt(b []byte, off int64) (n int, err error)实现io.ReaderAt接口
(r *Reader) WriteTo(w io.Writer) (n int64, err error)实现io.WriterTo接口

Replacer接收器

Replacer类型进行一系列字符串的替换。

函数功能备注
NewReplacer(oldnew …string) *Replacer从新旧字符串对列表中返回一个新的Replacer
(r *Replacer) Replace(s string) string返回s的副本,并执行所有替换
(r *Replacer) WriteString(w io.Writer, s string) (n int, err error)将s写入w并执行所有替换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/91067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Leetcode】 501. 二叉搜索树中的众数

给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。 如果树中有不止一个众数&#xff0c;可以按 任意顺序 返回。 假定 BST 满足如下定义&#xf…

【图论C++】树的重心——教父POJ 3107(链式前向星的使用)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

K8S:pod控制器详解

文章目录 一.pod控制器的基础&#xff11;.pod概念及分类&#xff12;.什么是Pod控制器及其功用&#xff13;.pod控制器有多种类型&#xff08;1&#xff09;ReplicaSet&#xff08;2&#xff09;Deployment&#xff08;3&#xff09;DaemonSet&#xff08;4&#xff09;Statef…

css调整字体间距 以及让倾斜字体

调整字体间距 .element {letter-spacing: 2px; /* 调整为适当的值 */ }倾斜字体1 .element {font-style: italic; }请注意&#xff0c;不是所有的字体都有斜体样式可用。如果字体本身没有斜体版本&#xff0c;则可能无法实现完全的斜体效果。 倾斜字体2 <span class"…

python time和datetime的常用转换处理

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了&#xff0c;直接在文末名片自取就可 一、time 1、…

第一部分:HTML5

目录 一&#xff1a;网页 1.1&#xff1a;什么是网页&#xff1f; 1.2&#xff1a;什么是HTML&#xff1f; 1.3&#xff1a;网页的形成 二&#xff1a;常用浏览器 三&#xff1a;Web标准 3.1&#xff1a;为什么需要Web标准&#xff1f; 3.2&#xff1a;Web标准的构成 四&a…

自动群发节日祝福,1 行 Python 代码搞定,小白可用

想了解更多精彩内容&#xff0c;快来关注程序员晚枫 大家节日快乐&#xff0c;这里是程序员晚枫&#xff0c;小红薯也叫这个名字。 今天给大家分享一个实用功能&#xff1a;自动群发祝福消息。 我相信社会人都体会过&#xff0c;过年过节给别人群发祝福消息的无奈&#xff0…

Cloudflare进阶技巧:缓存利用最大化

1. 引言 cloudflare我想你应该知道是什么&#xff0c;一家真正意义上免费无限量的CDN&#xff0c;至今未曾有哥们喷它的。当然&#xff0c;在国内的速度确实比较一般&#xff0c;不过这也不能怪它。 CDN最大的特色&#xff0c;我想就是它的缓存功能&#xff0c;达到防攻击&am…

C#解析JSON详解

C#解析Json详解 文章目录 C#解析Json详解什么是Json&#xff1f;Json的特点 常用的Json库Json.NET (Newtonsoft.Json)System.Text.Json 实例序列化反序列化 总结 什么是Json&#xff1f; JSON的全称是JavaScript Object Notation&#xff0c;是一种轻量级的数据交换格式&#…

抖音短视频seo矩阵系统源代码开发系统架构及功能解析

短视频seo源码&#xff0c;短视频seo矩阵系统底层框架上支持了从ai视频混剪&#xff0c;视频批量原创产出&#xff0c;云存储批量视频制作&#xff0c;账号矩阵&#xff0c;视频一键分发&#xff0c;站内实现关键词、短视频批量搜索排名&#xff0c;数据统计分类多功能细节深度…

Package vips was not found in the pkg-config search path的解决方案

出现该问题是因为pkg-config未安装或未成功设置环境变量。 下文是centos下的操作。 前提 先安装C编译环境&#xff1a; yum -y install gcc-c 否则会报错configure: error: no acceptable C compiler found in $PATH 成功后gcc -v会显示版本信息。 下载&安装 pkg-config 传…

spark Structured报错解决

报错&#xff0c;不想看原因的直接去解决方案试试 Exception in thread "main" java.lang.IllegalArgumentException: Pathname /C:/Users/Administrator/AppData/Local/Temp/1/temporary-611514af-8dc5-4b20-9237-e5f2d21fdf88/metadata from hdfs://master:8020/C…

我的国庆回家之路

文章目录 回家的计划假期的礼物学习新技术与家人团聚遇到的趣事总结 &#x1f389;欢迎来到IT陈寒的博客空间~我的国庆回家之路 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&#x1f388;该系列文章专栏&#xff1a;Java学习路线&#x1…

C++中将递增和递减运算符用于指针

C中将递增和递减运算符用于指针 指针包含内存地址。例如&#xff0c;程序中的 int 指针包含 0x002EFB34——int 在内存中的地址。 int 本身长 4 字节&#xff0c;因此占用 0x002EFB34&#xff5e;0x002EFB37 的内存。将递增运算符用于该指针后&#xff0c;它指向的并不是 0x00…

作用域 CSS 回来了

几年前&#xff0c;消失的作用域 CSS&#xff0c;如今它回来了&#xff0c;而且比以前的版本要好得多。 更好的是&#xff0c;W3C规范基本稳定&#xff0c;现在Chrome中已经有一个工作原型。我们只需要社区稍微关注一下&#xff0c;引诱其他浏览器构建它们的实现&#xff0c;并…

【教学类-35-03】学号+姓名+班级(小3班)学号字帖(A4竖版2份)

图片展示: 背景需求: 本周排到小3班&#xff0c;还没有来得及设计小班主题活动书的内容&#xff0c;于是就把小2班的学号字帖微调一下&#xff0c;做一份竖版2份的学号字帖。 让幼儿熟悉自己的学号&#xff0c;让我也熟悉幼儿的名字和学号 材料准备&#xff1a; 描字写&#…

基于微信小程序的二手闲置交易市场小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

【owt-server】fix : node-gyp configure 报错:Error: read ECONNRESET

npm已经设置了registry 还报错 npm config set registry http://registry.npmmirror.comnode-gyp configure 指令 node-gyp configure 报错 read ECONNRESET root@k8s-master-2K4G:~/p2p/zdsvr-20201229# ./scripts/build.js -t mcu --check /root/p2p/zdsvr-20201229/build/li…

【算法分析与设计】动态规划(下)

目录 一、最长公共子序列1.1 最长公共子序列的结构1.2 子问题的递归结构1.3 计算最优值1.4 举例说明1.5 算法的改进 二、最大子段和2.1 代码2.2 最大子段和问题的分治算法2.3 代码2.4 分治算法的时间复杂度2.5 最大子段和问题的动态规划算法 三、凸多边形最优三角剖分3.1 三角剖…

Spring cloud Sentinel介绍和安装

Sentinel介绍和安装 &#x1f308;初识Sentinel&#x1f308;安装Sentinel&#x1f320;docker 安装&#x1f320;下载sentinel镜像&#x1f320;启动sentinel镜像 &#x1f320;windows 安装&#x1f320;下载&#x1f320;运行 &#x1f320;sentinel访问 &#x1f308;微服务…