Go语言常用字符串处理方法有哪些
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章将为大家详细讲解有关Go语言常用字符串处理方法有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:package mainimpor
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
临沂互联网科技有限公司
网络安全你画我猜
服务器如何添加受信任客户端证书
黄浦区推广软件开发报价表
大数据软件开发有多难
网络安全12条禁令
公司参加陇剑杯网络安全
联想sr850服务器网卡驱动
佛山oa软件开发常见问题
戴尔服务器如何设置raid阵列
数据库解决方案包括
县政府网络安全应急预案
存储过程数据库中
网络安全检查整改报告怎么写
三国时代ol服务器维护
lol服务器按键设置
群青免费同人志数据库
b450 服务器内存条
湖南信息化软件开发过程价格优惠
越秀区软件开发学费
上海浪潮服务器续保哪家便宜
开发模式需要准备服务器吗
山东服务器电源价钱多少
软件开发中心 都有哪些部门
电商财务数据库
网络机顶盒连接不到服务器怎么办
数据库抓包
网络安全法 电信法
抚州网络安全项目
vs生成数据库测试数据操作