这可能是一个非常基本的问题,但在查看 strings 包文档后我无法找到答案。基本上,我想做的就是相当于:echo "hello world" | cut -d" " -f2
2 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
echo "hello world" | cut -d" " -f2
这"hello world"使用空格作为分隔符来分割字符串,并仅选择第二部分(1 索引)。
在 Go 中,它strings.Split()会返回一个切片,您可以根据需要对其进行索引或切片。
s := "hello world" fmt.Println(strings.Split(s, " ")[1])
这输出相同。在Go Playground上尝试一下。如果输入不能保证有 2 个部分,则上述索引 ( [1]) 可能会出现混乱。在此之前检查切片的长度。
叮当猫咪
TA贡献1776条经验 获得超12个赞
有一个strings.Split()函数可以在指定的子字符串处分割字符串。
还有函数Fields(s string) []string, 和FieldsFunc(s string, f func(rune) bool) []string。
前者以空格分割字符串,后者使用给定的函数来确定是否必须分割字符串。
Split和的区别Fields在于Fields将多个连续的空格视为一个分割位置。strings.Fields(" foo bar baz "))产量["foo" "bar" "baz"], 和strings.Split(" foo bar baz ", " ")产量["" "" "foo" "bar" "" "baz" "" "" ""].
- 2 回答
- 0 关注
- 181 浏览
添加回答
举报
0/150
提交
取消
