regex - 如何在字符串中添加双引号?
问题描述
我有一个类似 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"}}
任何如何制作双引号的想法都包括在内。
解决方案
与其尝试描述应该引用的所有内容并转义所有特殊字符,不如描述不应该引用的内容可能更容易。
str.replaceAll("([^\\s:,{}]+)", "\"$1\"")
推荐阅读
- firebase - Firestore 客户端侦听器消息传递保证?
- c - C中的强制宏观评估
- python - 有没有更好的方法来匹配这些布尔数据框列?
- python-3.x - 对 Snowflake 使用辅助类会导致连接问题
- spacy - 使用 spacy.matcher.matcher.Matcher.add() 方法的问题
- r - 如何将日期更改为 R 中的字符串?
- r - R:安装 ggplot2 的问题
- python - Read multiple csv data files and sort the data into a new csv file
- python - 编写一个函数,计算给定数字的以 2 为底的对数
- node.js - 我不断从 Bing 的 API 中收到“404 - 找不到资源”