加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

解析 – 将字符串解析为映射Golang

发布时间:2020-12-16 19:03:54 所属栏目:大数据 来源:网络整理
导读:我有一个字符串,如A = B C = D E = F,如何在golang中将其解析为地图? 这是关于Java的示例,但我不理解这个拆分部分 String text = "A=BC=DE=F";MapString,String map = new LinkedHashMapString,String();for(String keyValue : text.split(" * *")) { Strin
我有一个字符串,如A = B& C = D& E = F,如何在golang中将其解析为地图?

这是关于Java的示例,但我不理解这个拆分部分

String text = "A=B&C=D&E=F";
Map<String,String> map = new LinkedHashMap<String,String>();
for(String keyValue : text.split(" *& *")) {
   String[] pairs = keyValue.split(" *= *",2);
   map.put(pairs[0],pairs.length == 1 ? "" : pairs[1]);
}
也许你真正想要的是解析一个HTTP查询字符串,url.ParseQuery就是这样做的. (更确切地说,它返回的是一个url.Values为每个键存储一个[]字符串,因为URL有时每个键有多个值.)它执行解析HTML转义(如:
等等,只是分裂不.如果您在 the source of url.go搜索,可以找到它的实现.

但是,如果你真的想要分开和&和=就像Java代码那样,那里有所有概念和工具的Go类似物:

> map[string]string是Go的模拟Map< String,String>
> strings.Split可以分开&为了你. SplitN限制分割成的片段数,就像Java中的split-()的双参数版本一样.请注意,可能只有一件,所以你应该在尝试访问件[1]之前检查len(件).
> for _,piece := range pieces将迭代您分割的部分.
> Java代码似乎依赖于正则表达式来修剪空间. Go的Split不使用它们,但是strings.TrimSpace会像你想要的那样(具体来说,从两侧剥离各种Unicode空白).

我将离开实际的实现给你,但也许这些指针可以让你开始.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读