這可能是一個非常基本的問題,但在查看 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 關注
- 157 瀏覽
添加回答
舉報
0/150
提交
取消
