go的strings用法

news/2024/12/2 20:32:39/

strings 是 Go 语言标准库中提供的一个包,用于处理字符串相关的操作。这个包包含了许多函数,可以用于字符串的切割、拼接、替换、查找等操作。下面是一些常用的 strings 包函数和用法示例:

package mainimport ("fmt""strings"
)func main() {// 字符串长度str := "Hello, World!"length := len(str)fmt.Println("字符串长度:", length)// 字符串切割parts := strings.Split(str, ", ")fmt.Println("切割结果:", parts)// 字符串拼接words := []string{"Hello", "World"}joinedStr := strings.Join(words, ", ")fmt.Println("拼接结果:", joinedStr)// 字符串替换replacedStr := strings.Replace(str, "World", "Gopher", 1)fmt.Println("替换结果:", replacedStr)// 字符串包含contains := strings.Contains(str, "Hello")fmt.Println("是否包含 \"Hello\":", contains)// 字符串前缀和后缀判断isPrefix := strings.HasPrefix(str, "Hello")isSuffix := strings.HasSuffix(str, "!")fmt.Println("是否以 \"Hello\" 开头:", isPrefix)fmt.Println("是否以 \"!\" 结尾:", isSuffix)// 字符串索引查找index := strings.Index(str, "World")fmt.Println("\"World\" 的索引:", index)// 字符串重复repeatedStr := strings.Repeat("abc", 3)fmt.Println("重复三次:", repeatedStr)// 字符串大小写转换upperCase := strings.ToUpper(str)lowerCase := strings.ToLower(str)fmt.Println("大写:", upperCase)fmt.Println("小写:", lowerCase)// 去除字符串首尾的空白字符trimmedStr := strings.TrimSpace("  Hello, World!  ")fmt.Println("去除首尾空白字符:", trimmedStr)// 前后指定字符的去除trimmedChars := strings.Trim("!Hello, World!!", "!")fmt.Println("去除前后的 \"!\":", trimmedChars)// 判断字符串是否为空或空白字符isEmpty := strings.TrimSpace("") == ""fmt.Println("字符串是否为空:", isEmpty)// 字符串分割为字符切片str := "Hello"charSlice := strings.Split(str, "")fmt.Println("字符切片:", charSlice)// 字符串去除指定字符removedChars := strings.ReplaceAll(str, "l", "")fmt.Println("去除 \"l\":", removedChars)// 字符串比较(区分大小写)compare := strings.Compare("abc", "def")fmt.Println("字符串比较:", compare)// 字符串比较(不区分大小写)compareIgnoreCase := strings.EqualFold("Go", "GO")fmt.Println("不区分大小写比较:", compareIgnoreCase)// 字符串查找(最后一次出现的索引)lastIndex := strings.LastIndex(str, "l")fmt.Println("最后一次出现 \"l\" 的索引:", lastIndex)// 字符串判断前缀(多个前缀选择)isPrefixAny := strings.HasPrefixAny(str, "H", "A")fmt.Println("是否以 \"H\" 或 \"A\" 开头:", isPrefixAny)// 字符串判断是否空白字符串isBlank := strings.TrimSpace("   ") == ""fmt.Println("是否是空白字符串:", isBlank)
}

上面示例中展示了 strings 包中的一些常用函数,当然还有其他更多函数可以满足不同的字符串处理需求。如果想要了解更多函数和用法,可以查阅 Go 官方文档中的 strings 包文档:https://pkg.go.dev/strings


http://www.ppmy.cn/news/1019078.html

相关文章

消息队列比较

、ActiveMQ 优点:单机吞吐量万级,时效性ms级,可用性高,基于主从架构实现高可用性,消息可靠性较低的概率丢失数据。 缺点:官方社区现在对ActiveMQ5.X维护越来越少了,高吞吐量场景较少使用。 2、K…

B树的插入与删除过程

B树的插入 原树: 插入key后,若导致原节点关键字数超过上限,则从中间位置( ⌈ m 2 ⌉ \lceil\frac{m}{2}\rceil ⌈2m​⌉)将关键字分成两部分,左部分包含的关键字放在原节点中,右部分包含的关键…

时间复杂度空间复杂度相关练习题

1.消失的数字 【题目】:题目链接 思路1:排序——》qsort快排——》时间复杂度O(n*log2n) 不符合要求 思路2:(0123...n)-(a[0]a[1][2]...a[n-2]) ——》 时间复杂度O(N)空间复杂度…

【HDFS】ListenableFuture在HDFS中的应用

AsyncLogger、QuorumCall IPCLoggerChannel(它是AsyncLogger的子类) 一、ListenableFuture的基本使用 ListenableFuture 是 Guava 库中提供的一个接口,它扩展了 JDK 中的 Future 接口,并添加了异步任务完成后的回调机制。 ListenableFuture 提供了以下功能: 异步任务的…

解决监督学习,深度学习报错:AttributeError: ‘xxx‘ object has no attribute ‘module‘!!!!

哈喽小伙伴们大家好呀,很长时间没有更新啦,最近在研究一个问题,就是AttributeError: xxx object has no attribute module 今天终于是解决了,所以来记录分享一下: 我这里出现的问题是: 因为我的数据比较大…

[保研/考研机试] KY102 计算表达式 上海交通大学复试上机题 C++实现

描述 对于一个不存在括号的表达式进行计算 输入描述: 存在多组数据,每组数据一行,表达式不存在空格 输出描述: 输出结果 示例1 输入: 6/233*4输出: 18思路: ①设立运算符和运算数两个…

测试开发之前端篇-Web前端简介

自从九十年代初,人类创造出网页和浏览器后,Web取得了长足的发展,如今越来越多的企业级应用也选择使用Web技术来构建。 前面给大家介绍网络协议时讲到,您在阅读这篇文章时,浏览器是通过HTTP/HTTPS协议向服务器发送请求…

【Java】异常处理 之 使用断言

使用断言 断言(Assertion)是一种调试程序的方式。在Java中,使用assert关键字来实现断言。 我们先看一个例子: public static void main(String[] args) {double x Math.abs(-123.45);assert x > 0;System.out.println(x); …