【发布时间】:2020-04-05 10:34:27
【问题描述】:
我输入了用逗号分隔的字符串。但它可能包含需要忽略的双引号内的逗号。下面是示例字符串
str := "\"age\": \"28\", \"favorite number\": \"26\", \"salary\": \"$1,234,108\""
下面是我用来分割逗号的代码,但它失败了,逗号是双引号中字符串的一部分。
s1 := strings.Split(s, "\"")
s2 := strings.Join(s1, "")
s3 := strings.Split(s2, ",")
所以任何想法如何解决这个问题。
【问题讨论】:
-
您的输入字符串似乎是 JSON 内容的片段,这引出了您为什么不使用解析器的问题?
-
是的,它更多的是 JSON 字符串,但冒号被替换为“\t”,因为某些字段可以有冒号。还要对被序列化为 JSON 字符串的字符串进行后处理。
-
为那个特殊的奇怪格式写一个解析器。
-
Yes, its more of JSON string but colons are replaced with "\t" as some fields can have colon让我怀疑给定的例子是否合法。 -
您能否指定您希望从此输入字符串得到的结果。你想用逗号分割它,忽略字符串中的逗号吗?