这是关于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空白).
我将离开实际的实现给你,但也许这些指针可以让你开始.
总结以上是内存溢出为你收集整理的解析 – 将字符串解析为映射Golang全部内容,希望文章能够帮你解决解析 – 将字符串解析为映射Golang所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)