gpt4 book ai didi

arrays - 获取特定格式的子字符串

转载 作者:行者123 更新时间:2023-12-01 22:03:29 24 4
gpt4 key购买 nike

我有这种格式的字符串:

2002:4 2003:"\x02\x00\x04\x01" 2004:"\x00\x06\x03" 2005:1 2006:"YYYY-MM-DD" 3000:"Date time" 3001:"01/01/1900" 3002:"07/20/2020"
我只对 3000:"Date time", 3001: "01/01/1900", 3002:"07/20/2020"值感兴趣-大于3000的值。最初,我尝试将字符串拆分为另一个示例。但是在这里,“约会时间”中也有空格。因此,在这种情况下,我的逻辑破裂了。我是Golang的新手,所以我想知道Go中最好的方法是什么?我可以尝试使用Regex还是一个坏主意?

最佳答案

如果3000:后加引号的字符串从不包含其他双引号字符",则可以使用如下正则表达式:30\d+:".*?"更完整的Go代码段(根据您的实际需求进行调整):

package main

import (
"fmt"
"regexp"
)

const s = `2002:4 2003:"\x02\x00\x04\x01" 2004:"\x00\x06\x03" 2005:1 2006:"YYYY-MM-DD" 3000:"Date time" 3001:"01/01/1900" 3002:"07/20/2020"
`

func main() {

re, err := regexp.Compile(`30\d+:".*?"`)
if err != nil {
panic(err)
}
matches := re.FindAllString(s, -1)
fmt.Println(matches) // [3000:"Date time" 3001:"01/01/1900" 3002:"07/20/2020"]
}

关于arrays - 获取特定格式的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63290692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com