如何在Go中查找字符串的可变字段值?

时间:2019-02-23 10:13:15

标签: go

我有两个字符串:

str1:“与%s的连接已断开,并且引发了错误%d”

str2:“与 Database 的连接已断开,并抛出了错误 401

str2中,借助于str1,我想找出%s%dstr2的值是什么

1 个答案:

答案 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,则很有可能在错误内提供了数据,因此您无需手动解析它。而且,如果您可以控制错误,最好将数据存储在内部。