亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有像 linux cut 一樣工作的 Go 函數?

有沒有像 linux cut 一樣工作的 Go 函數?

Go
滄海一幻覺 2023-08-07 15:07:15
這可能是一個非常基本的問題,但在查看 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]) 可能會出現混亂。在此之前檢查切片的長度。


查看完整回答
反對 回復 2023-08-07
?
叮當貓咪

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" "" "" ""].


查看完整回答
反對 回復 2023-08-07
  • 2 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號