Go语言编程中字符串切割方法小结

 更新时间:2015年10月27日 14:56:30   投稿:goldensun  
这篇文章主要介绍了Go语言编程中字符串切割方法小结,所整理的方法都来自字符串相关的strings包,需要的朋友可以参考下

1.func Fields(s string) []string,这个函数的作用是按照1:n个空格来分割字符串最后返回的是
[]string的切片

复制代码 代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.Fields("hello widuu golang")) //out  [hello widuu golang]
}

2.func FieldsFunc(s string, f func(rune) bool) []string一看就了解了,这就是根据自定义函数分割了

复制代码 代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.FieldsFunc("widuunhellonword", split)) // [widuu hello word]根据n字符分割
}

func split(s rune) bool {
 if s == 'n' {
  return true
 }
 return false
}

3.func Join(a []string, sep string) string,这个跟php中的implode差不多,这个函数是将一个[]string的切片通过分隔符,分割成一个字符串

复制代码 代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 s := []string{"hello", "word", "xiaowei"}
 fmt.Println(strings.Join(s, "-")) // hello-word-xiaowei
}

4.func Split(s, sep string) []string,有join就有Split这个就是把字符串按照指定的分隔符切割成slice

复制代码 代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.Split("a,b,c,d,e", ",")) //[a b c d e]
}

5.func SplitAfter(s, sep string) []string,这个函数是在前边的切割完成之后再后边在加上sep分割符

复制代码 代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.SplitAfter("a,b,c,d", ",")) //[a, b, c, d]
}

6.func SplitAfterN(s, sep string, n int) []string该函数s根据sep分割,返回分割之后子字符串的slice,和split一样,只是返回的子字符串保留sep,如果sep为空,那么每一个字符都分割

复制代码 代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.SplitAfterN("a,b,c,d,r", ",", 4)) //["a," "b," "c," "d,r"]
 fmt.Println(strings.SplitAfterN("a,b,c,d,r", ",", 5)) //["a," "b," "c," "d," "r"]
}

7.func SplitN(s, sep string, n int) []string,这个是切割字符串的时候自己定义长度,如果sep为空,那么每一个字符都分割

复制代码 代码如下:

import (
 "fmt"
 "strings"
)

func main() {
 fmt.Println(strings.SplitN("a,b,c", ",", 2)) //[a b,c]
}

您可能感兴趣的文章:

相关文章

  • Go语言小白入门刷题打印输出沙漏

    Go语言小白入门刷题打印输出沙漏

    这篇文章主要介绍了Go语言刷题打印输出沙漏的示例过程详解,非常适合刚入门Go语言的小白学习,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • golang 一次性定时器Timer用法及实现原理详解

    golang 一次性定时器Timer用法及实现原理详解

    这篇文章主要为大家介绍了golang 一次性定时器Timer用法及实现原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • golang xorm日志写入文件中的操作

    golang xorm日志写入文件中的操作

    这篇文章主要介绍了golang xorm日志写入文件中的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go Asynq异步任务处理的实现

    Go Asynq异步任务处理的实现

    Asynq是一个新兴的异步任务处理解决方案,它提供了轻量级的、易于使用的API,本文主要介绍了Go Asynq异步任务处理的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-06-06
  • 使用Golang创建单独的WebSocket会话

    使用Golang创建单独的WebSocket会话

    WebSocket是一种在Web开发中非常常见的通信协议,它提供了双向、持久的连接,适用于实时数据传输和实时通信场景,本文将介绍如何使用 Golang 创建单独的 WebSocket 会话,包括建立连接、消息传递和关闭连接等操作,需要的朋友可以参考下
    2023-12-12
  • Go语言学习之goroutine详解

    Go语言学习之goroutine详解

    Goroutine是建立在线程之上的轻量级的抽象。它允许我们以非常低的代价在同一个地址空间中并行地执行多个函数或者方法,这篇文章主要介绍了Go语言学习之goroutine的相关知识,需要的朋友可以参考下
    2020-02-02
  • Go语言循环遍历含有中文的字符串的方法小结

    Go语言循环遍历含有中文的字符串的方法小结

    这篇文章主要介绍了Go语言循环遍历含有中文的字符串的几种方法,文章通过代码示例讲解的非常详细,具有一定的参考价值,感兴趣的小伙伴跟着小编一起来看看吧
    2023-07-07
  • Go语言七篇入门教程六网络编程

    Go语言七篇入门教程六网络编程

    这篇文章主要为大家介绍了Go语言的网络编程,其中包含了Socket编程,Http编程以及RPC编程,本篇文章是Go语言七篇入门系列文章,有需要的朋友可以借鉴下
    2021-11-11
  • 关于golang指针的有限操作详解

    关于golang指针的有限操作详解

    传统意义上来说,指针是一个指向某个确切的内存地址的值,这个内存地址可以是任何数据或代码的起始地址,在Go语言中有几种东西可以代表"指针",本文给大家介绍的是关于golang指针的有限操作,感兴趣的同学可以参考一下
    2023-08-08
  • Go语言实现Base64、Base58编码与解码

    Go语言实现Base64、Base58编码与解码

    本文主要介绍了Base64、Base58编码与解码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论