Go语言常用字符串处理方法有哪些
发表于:2025-11-20 作者:千家信息网编辑
千家信息网最后更新 2025年11月20日,这篇文章将为大家详细讲解有关Go语言常用字符串处理方法有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:package mainimpor
千家信息网最后更新 2025年11月20日Go语言常用字符串处理方法有哪些
这篇文章将为大家详细讲解有关Go语言常用字符串处理方法有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
代码如下:
package mainimport ( "fmt" "strings" //"unicode/utf8")func main() { fmt.Println("查找子串是否在指定的字符串中") fmt.Println(" Contains 函数的用法") fmt.Println(strings.Contains("seafood", "foo")) //true fmt.Println(strings.Contains("seafood", "bar")) //false fmt.Println(strings.Contains("seafood", "")) //true fmt.Println(strings.Contains("", "")) //true 这里要特别注意 fmt.Println(strings.Contains("我是中国人", "我")) //true fmt.Println("") fmt.Println(" ContainsAny 函数的用法") fmt.Println(strings.ContainsAny("team", "i")) // false fmt.Println(strings.ContainsAny("failure", "u & i")) // true fmt.Println(strings.ContainsAny("foo", "")) // false fmt.Println(strings.ContainsAny("", "")) // false fmt.Println("") fmt.Println(" ContainsRune 函数的用法") fmt.Println(strings.ContainsRune("我是中国", '我')) // true 注意第二个参数,用的是字符 fmt.Println("") fmt.Println(" Count 函数的用法") fmt.Println(strings.Count("cheese", "e")) // 3 fmt.Println(strings.Count("five", "")) // before & after each rune result: 5 , 源码中有实现 fmt.Println("") fmt.Println(" EqualFold 函数的用法") fmt.Println(strings.EqualFold("Go", "go")) //大小写忽略 fmt.Println("") fmt.Println(" Fields 函数的用法") fmt.Println("Fields are: %q", strings.Fields(" foo bar baz ")) //["foo" "bar" "baz"] 返回一个列表 //相当于用函数做为参数,支持匿名函数 for _, record := range []string{" aaa*1892*122", "aaa\taa\t", "124|939|22"} { fmt.Println(strings.FieldsFunc(record, func(ch rune) bool { switch { case ch > '5': return true } return false })) } fmt.Println("") fmt.Println(" HasPrefix 函数的用法") fmt.Println(strings.HasPrefix("NLT_abc", "NLT")) //前缀是以NLT开头的 fmt.Println("") fmt.Println(" HasSuffix 函数的用法") fmt.Println(strings.HasSuffix("NLT_abc", "abc")) //后缀是以NLT开头的 fmt.Println("") fmt.Println(" Index 函数的用法") fmt.Println(strings.Index("NLT_abc", "abc")) // 返回第一个匹配字符的位置,这里是4 fmt.Println(strings.Index("NLT_abc", "aaa")) // 在存在返回 -1 fmt.Println(strings.Index("我是中国人", "中")) // 在存在返回 6 fmt.Println("") fmt.Println(" IndexAny 函数的用法") fmt.Println(strings.IndexAny("我是中国人", "中")) // 在存在返回 6 fmt.Println(strings.IndexAny("我是中国人", "和")) // 在存在返回 -1 fmt.Println("") fmt.Println(" Index 函数的用法") fmt.Println(strings.IndexRune("NLT_abc", 'b')) // 返回第一个匹配字符的位置,这里是4 fmt.Println(strings.IndexRune("NLT_abc", 's')) // 在存在返回 -1 fmt.Println(strings.IndexRune("我是中国人", '中')) // 在存在返回 6 fmt.Println("") fmt.Println(" Join 函数的用法") s := []string{"foo", "bar", "baz"} fmt.Println(strings.Join(s, ", ")) // 返回字符串:foo, bar, baz fmt.Println("") fmt.Println(" LastIndex 函数的用法") fmt.Println(strings.LastIndex("go gopher", "go")) // 3 fmt.Println("") fmt.Println(" LastIndexAny 函数的用法") fmt.Println(strings.LastIndexAny("go gopher", "go")) // 4 fmt.Println(strings.LastIndexAny("我是中国人", "中")) // 6 fmt.Println("") fmt.Println(" Map 函数的用法") rot13 := func(r rune) rune { switch { case r >= 'A' && r <= 'Z': return 'A' + (r-'A'+13)%26 case r >= 'a' && r <= 'z': return 'a' + (r-'a'+13)%26 } return r } fmt.Println(strings.Map(rot13, "'Twas brillig and the slithy gopher...")) fmt.Println("") fmt.Println(" Repeat 函数的用法") fmt.Println("ba" + strings.Repeat("na", 2)) //banana fmt.Println("") fmt.Println(" Replace 函数的用法") fmt.Println(strings.Replace("oink oink oink", "k", "ky", 2)) fmt.Println(strings.Replace("oink oink oink", "oink", "moo", -1)) fmt.Println("") fmt.Println(" Split 函数的用法") fmt.Printf("%q\n", strings.Split("a,b,c", ",")) fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a ")) fmt.Printf("%q\n", strings.Split(" xyz ", "")) fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins")) fmt.Println("") fmt.Println(" SplitAfter 函数的用法") fmt.Printf("%q\n", strings.SplitAfter("/home/m_ta/src", "/")) //["/" "home/" "m_ta/" "src"] fmt.Println("") fmt.Println(" SplitAfterN 函数的用法") fmt.Printf("%q\n", strings.SplitAfterN("/home/m_ta/src", "/", 2)) //["/" "home/m_ta/src"] fmt.Printf("%q\n", strings.SplitAfterN("#home#m_ta#src", "#", -1)) //["/" "home/" "m_ta/" "src"] fmt.Println("") fmt.Println(" SplitN 函数的用法") fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 1)) fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 2)) //["/" "home/" "m_ta/" "src"] fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", -1)) //["" "home" "m_ta" "src"] fmt.Printf("%q\n", strings.SplitN("home,m_ta,src", ",", 2)) //["/" "home/" "m_ta/" "src"] fmt.Printf("%q\n", strings.SplitN("#home#m_ta#src", "#", -1)) //["/" "home/" "m_ta/" "src"] fmt.Println("") fmt.Println(" Title 函数的用法") //这个函数,还真不知道有什么用 fmt.Println(strings.Title("her royal highness")) fmt.Println("") fmt.Println(" ToLower 函数的用法") fmt.Println(strings.ToLower("Gopher")) //gopher fmt.Println("") fmt.Println(" ToLowerSpecial 函数的用法") fmt.Println("") fmt.Println(" ToTitle 函数的用法") fmt.Println(strings.ToTitle("loud noises")) fmt.Println(strings.ToTitle("loud 中国")) fmt.Println("") fmt.Println(" Replace 函数的用法") fmt.Println(strings.Replace("ABAACEDF", "A", "a", 2)) // aBaACEDF //第四个参数小于0,表示所有的都替换, 可以看下golang的文档 fmt.Println(strings.Replace("ABAACEDF", "A", "a", -1)) // aBaaCEDF fmt.Println("") fmt.Println(" ToUpper 函数的用法") fmt.Println(strings.ToUpper("Gopher")) //GOPHER fmt.Println("") fmt.Println(" Trim 函数的用法") fmt.Printf("[%q]", strings.Trim(" !!! Achtung !!! ", "! ")) // ["Achtung"] fmt.Println("") fmt.Println(" TrimLeft 函数的用法") fmt.Printf("[%q]", strings.TrimLeft(" !!! Achtung !!! ", "! ")) // ["Achtung !!! "] fmt.Println("") fmt.Println(" TrimSpace 函数的用法") fmt.Println(strings.TrimSpace(" \t\n a lone gopher \n\t\r\n")) // a lone gopher}关于Go语言常用字符串处理方法有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
函数
中国
字符
中国人
字符串
参数
常用
方法
语言
处理
位置
内容
开头
文章
更多
知识
篇文章
不错
代码
前缀
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
超级小桀的网络服务器
python无服务器网站
因网络安全事件被处罚的单位
修改数据库数据语句怎么写
微型网络技术生产过程
雄安绍森网络技术开发
外文科技期刊数据库怎么查
语音网络技术演进专题规划
网络安全电子教案模板
zuul数据库配置
中国电信连网络安全吗
阿里巴巴网络技术部专家
杭州乐道网络技术有限公司
腾讯云域名服务器名称
软件开发软件开发培训机构
卡巴斯基服务器如何添加信任程序
上海网络安全产业三年行动
怎么复制测试的数据库环境
网络安全法法律责任热
廊坊市捷迅网络技术有限公司
服务器inspect
学硬件的转行软件开发
制造软件开发服务电话
梦达网络技术有限公司
单仁网络安全知识
教师网络安全培会议资料
上海网络安全产业三年行动
常州构建智慧园区软件开发
dota2服务器垃圾
数据库常见的数据约束