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

使用正则表达式拆分字符串以将子字符串存储在映射中的分隔符内以创建键值对

使用正则表达式拆分字符串以将子字符串存储在映射中的分隔符内以创建键值对

Go
料青山看我应如是 2022-06-27 17:22:02
在 Go-Lang我需要从字符串中提取一个位于两个定界符之间的子字符串,每对定界符将是一个键,子字符串将是它的值。一个简单的例子:“可口可乐令人耳目一新<百事可乐>只是<不是>”两个分隔符:< 和 >目标:extractMap:= map[string]string{"first":"pepsi", "second":"not"}我试图捕获两者之间的数据的正则表达式\<(.*?)\>如何将提取的每个子字符串存储在映射中,可以迭代以存储提取的子字符串
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

Go 没有直接的方法来查找所有匹配项并将其作为地图返回。您可以使用 regexp 包中的FindAllStringSubmatch来获取所有匹配项和范围。这是一个例子


str := "Coca Cola is refreshing < pepsi > is simply < not >"

r := regexp.MustCompile(`\<(.*?)\>`)


matches := r.FindAllStringSubmatch(str, -1)

for _, match := range matches {

    if len(match) > 1 {

        fmt.Println("Found match: ", match[1])

    }

}


// Output

// Found match:   pepsi

// Found match:   not


查看完整回答
反对 回复 2022-06-27
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信