Go 如何从字符串中删除双引号

Go 如何从字符串中删除双引号,go,Go,我有一个字符串,我从一个网站拉,但是,它周围有双引号,我试图删除它们。例如,字符串为: “54%” 我试过: strings.Trim(s[0],“\”) 但它并没有删除引号 非常感谢您的帮助 s := "\" hello\"" fmt.Println("Without trim: " + s) // Without trim: " hello" fmt.Println("Trim double quotes: " + strings.Trim(s, "\"")) // Trim d

我有一个字符串,我从一个网站拉,但是,它周围有双引号,我试图删除它们。例如,字符串为:

“54%”

我试过:

strings.Trim(s[0],“\”)

但它并没有删除引号

非常感谢您的帮助

s := "\"  hello\""

fmt.Println("Without trim: " + s) 
// Without trim: "  hello"

fmt.Println("Trim double quotes: " + strings.Trim(s, "\"")) 
// Trim double quotes:   hello

请参见

请给出工作代码。可能出错的地方:

  • 您使用的是s[0],这意味着s的第一个字节,您的意思是使用s还是这是一个字符串数组
  • 字符串可能有尾随空格或前导空格
  • 您的字符串可以使用智能引号

您的代码应该可以正常工作,也许您误解了某些打印结果或存储了错误的值

ss := []string{"foo", `""`, `"bar"`, `"        54%"`}
for _, s := range ss {
  t := strings.Trim(s, `"`)
  fmt.Printf("OK:    [%s] --> [%s]\n", s, t)
}
// OK:    [foo] --> [foo]
// OK:    [""] --> []
// OK:    ["bar"] --> [bar]
// OK:    ["        54%"] --> [        54%]
//         │           │       │         │
// quotes ─┴───────────┘       │         │
// no quotes ──────────────────┴─────────┘

您是如何打印或以其他方式传递字符串的?(换句话说,您在哪里看到
“54%”
?)是什么让您认为字符串上有引号?我是这样打印出来的:
fmt.Println(strings.Trim(s[0],“\”)
请站在代码前面,逐字复制,不要重新键入。输出也是如此。(如果它被重新键入,很难知道
是否实际上是
)无论出于什么原因,它都没有去掉引号。而且它是一个数组,所以我不能只使用
s
,给了我以下错误
不能在字符串的参数中使用s(type[]string)作为类型字符串。Trim