2 回答
杨__羊羊
TA贡献1943条经验 获得超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包是看的地方。当然,如果您需要更复杂的东西,您可以查看regex正则表达式,但这在这里有点过头了。如果你真的需要一个分词器,看看text/scanner,但同样,这太过分了。
墨色风雨
TA贡献1853条经验 获得超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 关注
- 274 浏览
添加回答
举报
0/150
提交
取消
