golang 基础 strings 包(36)

作者 : 开心源码 本文共1374个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共204人阅读

square-gopher.png

对于字符串操作是 web 开发再常见不过操作,可能我们通过对字符串拼接,截取以及拆分来展现数据呈现给客户。

Split

    rec := "zidea,angularjs,javascript"    for _, info := range strings.Split(rec,","){        fmt.Printf("%s|",info)    }

通过 Split 按按指定的分隔符(,)将字符串进行拆分为集合形式,可以使用 SplitN() 指定此处

    rec := "zidea,angularjs,javascript"    for _, info := range strings.SplitN(rec,",",2){        fmt.Printf("%s|",info)    }
zidea|angularjs,javascript|
    for _, info := range strings.SplitAfter(rec,","){        fmt.Printf("%s|",info)    }
zidea,|angularjs,|javascript|jangwoodeMacBook-Air

使用 SplitAfter 进行分隔会保留分隔符号(,)

strings.FieldsFunc

recs := []string {        "zidea,angularjs,javascript",        "zidea\treactjs\tjavascript",        "zidea*vuejs*javascript",    }    for _, tut := range recs{        fmt.Println(strings.FieldsFunc(tut,func(char rune) bool {            switch char {            case '\t','*',',':                return true                            }            return false        }))    } 

可以通过 strings.FieldsFunc 自己设置分隔符,假如用过 javascript 的 underscore 库或者者理解函数式编程应该不会陌生,strings.FieldsFunc 函数第一次参数为中第一个参数为字符串,第二个参数是函数接受字符串中每一个字符作为参数返回一种 bool 值假如为 true 表示分隔符。

    commaCounter := strings.Count(rec,",")    fmt.Printf("count %d\n", commaCounter)    placedRec := strings.Replace(rec,",","|",-1)    fmt.Printf("replaced string %s",placedRec)

这里strings.Count(rec,",")用于计数 (,) 出现次数,而 strings.Replace 用于替换字符串中字符,第一个参数为字符串,第二个参数表示要替换的字符,第三个参数为要替换为的字符,最后一个参数为替换次数,-1 表示没有次数限制进行替换。

reader := strings.NewReader("Coffee")    for{        char, size, err := reader.ReadRune()        if err != nil {            if err == io.EOF{                break            }            panic(err)        }        fmt.Printf("%U '%c' %d: % X\n", char, char, size, []byte(string(char)))    }
func Contains(s, substr string) bool

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » golang 基础 strings 包(36)

发表回复