【发布时间】:2016-11-11 20:57:21
【问题描述】:
我有一个供应商发送的 JSON 代码块。在我可以使用它之前,我必须操作所有键(大约 65 个)以删除句点,否则它会干扰我的应用程序使用。尝试使用带有 JS 替换功能的正则表达式模式来用下划线替换它们。假设我有以下字符串:
JSON_String = '{ "Test.String.One" : "Answer.One" , "Test.String.Two" : "Answer.Two" , "Test.String.Three" : "Answer.Three"}';
我需要一个正则表达式模式,它将替换键中的所有句点,但不替换值中的所有句点。所以这将是 { 和 : 之间或 , 和 : 之间的所有句点
完成后的结果应该是这样的:
JSON_String = '{ "Test_String_One" : "Answer.One" , "Test_String_Two" : "Answer.Two" , "Test_String_Three" : "Answer.Three"}';
该应用程序正在使用 Javascript 的 Rhino 实现,因此 \K 之类的某些内容似乎不起作用(除非我在测试中做错了什么)。
谁能提供正确的搜索模式来完成此任务?
如果不能在一次调用中完成,我不反对使用循环。
类似下面的就可以了。我只是需要一些工作。
while (JSON_String.search(/regex/g) != -1)
{
JSON_String = JSON_String.replace(/regex/g,'_')
}
【问题讨论】:
-
我可以做到,但不使用正则表达式。你想要吗??
标签: javascript json regex replace