为了账号安全,请及时绑定邮箱和手机立即绑定

在需要时从字符串中删除双引号

在需要时从字符串中删除双引号

Go
FFIVE 2022-08-15 19:31:48
你好,我正在与Golang合作,我必须从字符串中删除双引号,当需要时,在没有双引号的情况下,我不必进行此修剪。例如,当我有时,我必须应用修剪,但没有“HI”。我正在使用下一个代码:""HI""strings.Trim(stringVal, "\"")它有效,但是然后我正在使用验证,如果我将修剪应用于像“HI”这样的普通字符串,则比较是错误的。strings.EqualFold(stringVal, "HI")有没有办法做修剪,只是用带双引号的字符串?谢谢!
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

如果字符串具有不需要的前缀和后缀,则使用切片表达式将它们切除:


func trim(s string) string {

    if strings.HasPrefix(s, `""`) && strings.HasSuffix(s, `""`) && len(s) > 2 {

        return s[1 : len(s)-1]

    }

    return s

}

例:


fmt.Println(trim(`"Hi"`))       // prints "Hi"

fmt.Println(trim(`""Hi""`))     // prints "Hi"

fmt.Println(trim(`""""`))       // prints ""

fmt.Println(trim(`""`))         // prints ""

fmt.Println(trim(`"\j\u\n\k"`)) // prints "\j\u\n\k" 

在 Go Playground 上运行代码


查看完整回答
反对 回复 2022-08-15
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

这似乎做到了:


package main

import "strconv"


func main() {

   s, e := strconv.Unquote(`"HI"`)

   if e != nil {

      panic(e)

   }

   println(s == "HI")

}

https://golang.org/pkg/strconv#Unquote


查看完整回答
反对 回复 2022-08-15
  • 2 回答
  • 0 关注
  • 200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号