2 回答

TA貢獻1943條經(jīng)驗 獲得超7個贊
您可以只拆分空格并取中間的一個:
s := "Destination: 149.164.31.169 (149.164.31.169)"
parts := strings.Split(s, " ")
if len(parts) != 3 {
panic("Should have had three parts")
}
println(parts[1])
還有很多其他方法。該strings包是看的地方。當然,如果您需要更復(fù)雜的東西,您可以查看regex正則表達式,但這在這里有點過頭了。如果你真的需要一個分詞器,看看text/scanner,但同樣,這太過分了。

TA貢獻1853條經(jīng)驗 獲得超6個贊
您也可以fmt.Sscanf為此使用:
package main
import "fmt"
func extractIP(s string) string {
var ip string
fmt.Sscanf(s, "Destination: %v", &ip)
return ip
}
func main() {
ip := extractIP("Destination: 149.164.31.169 (149.164.31.169)")
fmt.Println(ip == "149.164.31.169")
}
https://golang.org/pkg/fmt#Sscanf
- 2 回答
- 0 關(guān)注
- 223 瀏覽
添加回答
舉報