我有一个类似Json的字符串,
{cid: {ABCD[1]_TYPE, [text]: alphabets, time: 1/12/2010, author: xyz, best_chapter: 10.5}
我需要在每个字符串上添加双引号,以使其看起来像真正的Json:
{"cid": {"ABCD[1]_TYPE", "[text]": "alphabets", "time": "1/12/2010", "author": "xyz", "best_chapter": "10.5"}}
我已经做到了:
val jsonString = str.replaceAll("(\\w+/.)", "\"$1\"")
我的正则表达式失败,并且这样逃脱了方括号:
{"cid": {"ABCD"["1"]"_TYPE", [""text""]: "alphabets", "time": "1/12/2010", "author": "xyz", "best_chapter": "10.5"}}
任何想使用双引号的想法都包括在内。
答案 0 :(得分:1)
与其试图描述应被引用的所有内容并转义所有特殊字符,不如描述不应当被引用的内容,可能会更容易。
str.replaceAll("([^\\s:,{}]+)", "\"$1\"")