go语言中split方法有什么用
go语言split方法
在 Go 中,Split() 函数(包含在 strings 包中)使用分隔符将字符串划分为子字符串列表。子字符串以切片的形式返回。
语法
需要导入 strings包
strings.Split(s, sep)
参数 | 说明 | 备注 |
s | 待分割的字符串 | 字符串类型的参数 |
sep | 分隔符 |
字符串类型的参数 |
返回值
返回一个字符串切片。
使用示例
Split()函数将字符串根据分隔符切割。切割后返回一个字符串切片,切片len和cap值等于原字符串中存在分隔符的数量 1(仅在s不是空字符串的情况下成立)。
package main
import (
"fmt"
"strings"
)
func main() {
demo := "I&love&Go,&and&I&also&love&Python."
string_slice := strings.Split(demo, "&")
fmt.Println("result:",string_slice)
fmt.Println("len:",len(string_slice))
fmt.Println("cap:", cap(string_slice))
}
运行结果如下:
result: [I love Go, and I also love Python.]
len: 8
cap: 8
注意事项
1. 当分隔符不存在于原字符串中时
当分隔符在原字符串中不存在的情况下,Split()函数仅仅将原字符串转换成一个len和cap值都为1的字符串切片。
package main
import (
"fmt"
"strings"
)
func main() {
demo := "I love Go, and I also love Python."
string_slice := strings.Split(demo, "&")
fmt.Println("result:",string_slice)
fmt.Println("len:",len(string_slice))
fmt.Println("cap:", cap(string_slice))
}
运行结果如下:
result: [I love Go, and I also love Python.]
len: 1
cap: 1
2. 当分隔符是空字符串时
当分隔符是空字符串时,Split()函数将字符串中的每一个字符分割成一个单独的元素。
package main
import (
"fmt"
"strings"
)
func main() {
demo := "Go"
string_slice := strings.Split(demo, "")
fmt.Println("result:",string_slice)
fmt.Println("len:",len(string_slice))
fmt.Println("cap:", cap(string_slice))
}
运行结果:
result: [G o]
len: 2
cap: 2
3. 参数都为空字符串
当Split()函数的两个参数都是空字符串时(即s和sep都是空字符串),Split()函数返回一个len和cap值都为0的空字符串切片。
package main
import (
"fmt"
"strings"
)
func main() {
demo := ""
string_slice := strings.Split(demo, "")
fmt.Println("result:",string_slice)
fmt.Println("len:",len(string_slice))
fmt.Println("cap:", cap(string_slice))
}
运行结果:
result: []
len: 0
cap: 0
4. 当s为空字符串,sep不为空字符串时
不同于上一个场景,在这种情况下虽然得到的结果仍然是字符串切片,但是字符串切片的len和cap值是1(而不是像上一个场景中的值是0)。返回的结果是包含一个空字符串的字符串切片。
package main
import (
"fmt"
"strings"
)
func main() {
demo := ""
string_slice := strings.Split(demo, "*")
fmt.Println("result:",string_slice)
fmt.Println("len:",len(string_slice))
fmt.Println("cap:", cap(string_slice))
element := string_slice[0]
fmt.Printf("string_slice[0]:%s, type:%T, len():%d\n",
element, element, len(element),)
fmt.Println("element == \"\"?", element == "")
}
运行结果:
result: []
len: 1
cap: 1
string_slice[0]:, type:string, len():0
element == ""? true
5. 返回的字符串切片中不再包含分隔符
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanfcaaj
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24