go语言中一些字符串操作介绍

MO_ON_e503 · · 888 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

按单个/多个字符分割字符串

按指定内容切割字符串

str := "hello world"

res0 :=strings.Split(str,"w")

fmt.Println(res0)//[hello  orld]

字符串str以;结尾进行分割

str := "hello;world;"

res1 := strings.SplitAfter(str,";")//[hello; world; ]

fmt.Println(res1)

判断str中是否包含某字符串

返回bool类型,没有时为false

str := "hello world"

fmt.Println(strings.Contains(str, "lo"), strings.Contains(str, "t")) //true false

判断是否以某个字符串开头/结尾

str := "hello world"

//以某个字符串开始

i := strings.HasPrefix(str, "h")

j := strings.HasPrefix(str, "t")

fmt.Println(i, j) //true false

//以某个字符串结尾

i1 := strings.HasSuffix(str, "h")

j1 := strings.HasSuffix(str, "d") //是不是以d结尾的

fmt.Println(i1, j1)               //false true

获取指定内容在字符串中首次/最后一次出现的位置

str := "hello world"

// 获取指定内容在str中首次出现的位置,如果有则返回该元素索引, 如果没有则返回-1

fmt.Println(strings.Index(str, "l"), ",", strings.Index(str, "t")) //2 , -1

// 获取指定内容在str中最后一次出现的位置, 如果有则返回该元素索引, 如果没有则返回-1

fmt.Println(strings.LastIndex(str, "l"), ",", strings.LastIndex(str, "t")) //9 , -1

替换字符串中指定内容

//将str中的 hello 替换为 你好

str := "hello world"

fmt.Println(strings.Replace(str, "hello", "你好", 1)) //你好 world

//最后一个参数表示如果str中有多个hello的话,只替换前n个

指定内容在字符串中的出现次数

str := "hello world"

//字符串中包含某字符串的次数, 没有时返回0

fmt.Println(strings.Count(str, "l"), strings.Count(str, "t")) //3 0

字符串整体重复n次

str := "hello world"

//将字符串str整体重复n次

fmt.Println(strings.Repeat(str, 2))// hello worldhello world

转大小写

//转大写&小写

str1 := "HELLO world"

fmt.Println(strings.ToLower(str1))//全体转小写 hello world

fmt.Println(strings.ToUpper(str1))//全体转大写 HELLO WORLD

用指定字符将 slice 中所有元素链接成一个字符串

//用指定字符将 string 类型的 slice 中所有元素链接成一个字符串

str4 := []string{"a","b","c","d"}

fmt.Println(strings.Join(str4,"-"))//用-连接str4中的所有元素a-b-c-d

去除字符串中指定内容(包含空格)

str2 := "  hello world tt"

//去掉字符串尾指定的字符

fmt.Println(strings.TrimRight(str2,"t"))//  hello world 字符串首时为TrimLeft()

//去掉字符串首尾的空格

fmt.Println(strings.TrimSpace(str2))//hello world

//去掉字符串首尾指定的字符

fmt.Println(strings.Trim(str2,"t"))//  hello world

fmt.Println(strings.Trim(str2,"ttt"))//注意相同的字母即时数量比str的多也能去掉  hello world

fmt.Println(strings.Trim(str2,"  "))//去除首尾空格hello world tt

fmt.Println(strings.Trim(str2,"b"))//没有b时不报错返回原字符串  hello world tt

本文来自php中文网的golang教程栏目:https://www.php.cn/be/go/            


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:MO_ON_e503

查看原文:go语言中一些字符串操作介绍

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

888 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传