我有两个字符串:
str1:“与%s的连接已断开,并且引发了错误%d”
str2:“与 Database 的连接已断开,并抛出了错误 401 ”
在str2
中,借助于str1
,我想找出%s
中%d
和str2
的值是什么
答案 0 :(得分:1)
您可以使用fmt.Sscanf
,它是字符串和fmt.Scan
的原始版本:
package main
import (
"fmt"
)
func main() {
str1 := "Connection to %s is down and error %d is thrown"
str2 := "Connection to DataBase is down and error 401 is thrown"
var s string
var d int
_, err := fmt.Sscanf(str2, str1, &s, &d)
if err != nil {
panic(err)
}
fmt.Println(s, d)
}
游乐场:https://play.golang.org/p/5g5UcrHsunM
注意:看来您正在解析错误。如果错误来自Go,则很有可能在错误内提供了数据,因此您无需手动解析它。而且,如果您可以控制错误,最好将数据存储在内部。