有没有可以像linux cut一样运行的Go函数?

这可能是一个非常基本的问题,但是在查看字符串包文档后,我仍然找不到答案。

基本上,我要做的就是:

echo "hello world" | cut -d" " -f2

d228489 回答:有没有可以像linux cut一样运行的Go函数?

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])可能会出现问题。在执行此操作之前,请检查切片的长度。

,

有一个strings.Split()函数,用于将字符串拆分为指定的子字符串。

还有功能Fields(s string) []stringFieldsFunc(s string,f func(rune) bool) []string

前者在空格处分割字符串,而后者使用给定的函数确定是否必须分割字符串。

SplitFields之间的区别在于Fields将多个连续的空格视为一个拆分位置。 strings.Fields(" foo bar baz "))产生["foo" "bar" "baz"],而strings.Split(" foo bar baz "," ")产生["" "" "foo" "bar" "" "baz" "" "" ""]

本文链接:https://www.f2er.com/3013398.html

大家都在问