Go语言——字符串处理函数(上)

string的基本用法(可以理解成特殊的slice)

  1. 字符串与字符
  2. 字符串遍历
  3. 切⽚是引⽤类型,字符串是值类型
  4. 示例代码:
package main
import (
 "fmt"
 "unicode/utf8"
)
func main() {
 s := "我爱Go语⾔"
 fmt.Println(s)
 fmt.Println("字节⻓度:", len(s))
 fmt.Println("-------------------")
 //获取字符串引⽤
 for i, ch := range s {
 fmt.Printf("%d:%c \n", i, ch)
 }
 fmt.Println("-------------------")
 //遍历所有字节
 for i, ch := range []byte(s) {
 fmt.Printf("%d:%X \n", i, ch)
 }
 fmt.Println("字节⻓度:", len(s))
 fmt.Println("-------------------")
 //获取所有字符
 //rune相当于go的char(字符型)
 count := 0
 for i, ch := range []rune(s) {
 fmt.Printf("%d:%c \n", i, ch)
 count++
 }
 fmt.Println("字符⻓度:", count)
 fmt.Println("字符⻓度:", utf8.RuneCountInString(s))
 fmt.Println("-------------------") }

strings包中的字符串处理函数

(⼀)、检索字符串

  1. func Contains(s, substr string) bool
    判断字符串s是否包含substr字符串
  2. func ContainsAny(s, chars string) bool
    判断字符串s是否包含chars字符串中的任⼀字符
  3. func ContainsRune(s string, r rune) bool
    判断字符串s是否包含unicode码值r
  4. func Count(s, sep string) int
    返回字符串s包含字符串sep的个数
  5. func HasPrefix(s, prefix string) bool
    判断字符串s是否有前缀字符串prefix
  6. func HasSuffix(s, suffix string) bool
    判断字符串s是否有后缀字符串suffix
  7. func Index(s, sep string) int
    返回字符串s中字符串sep⾸次出现的位置
  8. func IndexAny(s, chars string) int
    返回字符串chars中的任⼀unicode码值r在s中⾸次出现的位置
  9. func IndexByte(s string, c byte) int
    返回字符串s中字符c⾸次出现位置
  10. func IndexFunc(s string, f func(rune) bool) int
    返回字符串s中满⾜函数f®==true字符⾸次出现的位置
  11. func IndexRune(s string, r rune) int
    返回unicode码值r在字符串中⾸次出现的位置
  12. func LastIndex(s, sep string) int
    返回字符串s中字符串sep最后⼀次出现的位置
  13. func LastIndexAny(s, chars string) int
    返回字符串s中任意⼀个unicode码值r最后⼀次出现的位置
  14. func LastIndexByte(s string, c byte) int
    返回字符串s中字符c最后⼀次出现的位置
  15. func LastIndexFunc(s string, f func(rune) bool) int
    返回字符串s中满⾜函数f®==true字符最后⼀次出现的位置

(⼆)、分割字符串:

  1. func Fields(s string) []string
    将字符串s以空⽩字符分割,返回⼀个切⽚
  2. func FieldsFunc(s string, f func(rune) bool) []string
    将字符串s以满⾜f®==true的字符分割,返回⼀个切⽚
  3. func Split(s, sep string) []string
    将字符串s以sep作为分隔符进⾏分割,分割后字符最后去掉sep
  4. func SplitAfter(s, sep string) []string
    将字符串s以sep作为分隔符进⾏分割,分割后字符最后附上sep
  5. func SplitAfterN(s, sep string, n int) []string
    将字符串s以sep作为分隔符进⾏分割,分割后字符最后附上sep,n决定返回的
    切⽚数
  6. func SplitN(s, sep string, n int) []string
    将字符串s以sep作为分隔符进⾏分割,分割后字符最后去掉sep,n决定返回的
    切⽚数

(三)、⼤⼩写转换:

  1. func Title(s string) string
    将字符串s每个单词⾸字⺟⼤写返回
  2. func ToLower(s string) string
    将字符串s转换成⼩写返回
  3. func ToLowerSpecial(_case unicode.SpecialCase, s string) string
    将字符串s中所有字符按_case指定的映射转换成⼩写返回
  4. func ToTitle(s string) string
    将字符串s转换成⼤写返回
  5. func ToTitleSpecial(_case unicode.SpecialCase, s string) string
    将字符串s中所有字符按_case指定的映射转换成⼤写返回
  6. func ToUpper(s string) string
    将字符串s转换成⼤写返回
  7. func ToUpperSpecial(_case unicode.SpecialCase, s string) string
    将字符串s中所有字符按_case指定的映射转换成⼤写返回

(四)、trim修剪函数:

  1. func Trim(s string, cutset string) string
    将字符串s中⾸尾包含cutset中的任⼀字符去掉返回
  2. func TrimFunc(s string, f func(rune) bool) string
    将字符串s⾸尾满⾜函数f®==true的字符去掉返回
  3. func TrimLeft(s string, cutset string) string
    将字符串s左边包含cutset中的任⼀字符去掉返回
  4. func TrimLeftFunc(s string, f func(rune) bool) string
    将字符串s左边满⾜函数f®==true的字符去掉返回
    5、func TrimPrefix(s, prefix string) string
    将字符串s中前缀字符串prefix去掉返回
  5. func TrimRight(s string, cutset string) string
    将字符串s右边包含cutset中的任⼀字符去掉返回
    7、func TrimRightFunc(s string, f func(rune) bool) string
    将字符串s右边满⾜函数f®==true的字符去掉返回
  6. func TrimSpace(s string) string
    将字符串s⾸尾空⽩去掉返回
  7. func TrimSuffix(s, suffix string) string
    将字符串s中后缀字符串prefix去掉返回

(五)、⽐较字符串

  1. func Compare(a, b string) int
    按字典顺序⽐较a和b字符串⼤⼩
  2. func EqualFold(s, t string) bool
    判断s和t两个utf8字符串是否相等,忽略⼤⼩写
  3. func Repeat(s string, count int) string
    将字符串s重复count次返回
  4. func Replace(s, old, new string, n int) string
    替换字符串s中old字符为new字符并返回,n<0是替换所有old字符串
  5. func Join(a []string, sep string) string
    将a中的所有字符串连接成⼀个字符串,使⽤字符串sep作为分隔符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中亿丰数字科技集团有限公司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值