2015-12-22 255 views
0

我想轉換"categories": ["Doctors", "Health & Medical"],正則表達式 - 括號

"categories": ["Doctors, Health & Medical"],

。換句話說內精確匹配的文本,我想找到" ,"(在開放qoute和逗號的中間空間)。

然後替換,

然而,因此使用" ,"單獨的文件中其他地方" ,"重複是不夠的。最好的最好的就是內[...]

例如找到" ,": 「類別」: 「醫生」, 「健康&醫療」], 「城市」: 「鳳凰」, 「伯爵」:9

非常感謝你提前

+2

什麼語言是您使用? –

+0

我只是使用文本編輯器重新格式化字符串,以便我可以將其導入到其他Java程序中。我可以用'\ [「。*」]'在'[..]'內部找到所有內容,但是不足以縮小爲'「,」' – user5705407

+5

不要將JSON視爲字符串。解析它,在需要的地方轉換結構,然後根據需要重新綁定。正則表達式在這裏是一個不錯的選擇。 – Amadan

回答

2

正如在評論中指出的,你應該如果可以避免正則表達式。

在JavaScript中用一行代碼實現類似的功能是非常簡單的。

例如,你可以只使用.join()方法:

obj.categories = [obj.categories.join(', ')]; 

Example Here


但是,如果你沒有選擇,你可以使用以下命令:

/((?:\[[^\]]*?)|(?:(?<!^)\G[^\]]*?))(?:", ")(?=[^\]]*"\])/g 

然後用\1,替換匹配項。

Example Here

根據測試的情況下,該字符串:

"categories": ["Doctors", "Health", "Other"], "city": "Phoenix", "count": 9 

將輸出:

"categories": ["Doctors, Health, Other"], "city": "Phoenix", "count": 9