我正在使用csharp,並有一個json字符串,我想刪除所有不在引號內的空格。我在網上搜索,我已經找到了解決方案,這是這樣的:csharp刪除空格,除非在引號內,忽略轉義引號
aidstring = Regex.Replace(aidstring, "\\s+(?=([^\"]*\"[^\"]*\")*[^\"]*$)", "");
不過,我現在正在處理包含轉義引號的字符串:
"boolean": "k near/3 \"funds private\""
與上述正則表達式的解決方案圈它轉換成:
"boolean":"k near/3 \"fundsprivate\""
因爲轉義引號被視爲正常引號。 任何人都可以發佈一個正則表達式,其中的轉義引號會被忽略嗎?
非常感謝!
喬瓦尼
我最終的目標是我希望基金和私人這兩個詞保持兩個單獨的詞,而不是被卡在一起 –
我建議你使用JSON解析器來解析JSON,然後以緊湊的方式重新格式化它。使用正則表達式來處理這類事情最終會變得非常複雜。 –
嘗試['aidstring = Regex.Replace(aidstring,@「(」「[^」「\\] *(?:\\。[^」「\\] *)*」「)| \ s +」,「」 $ 1" )'](http://regexstorm.net/tester?p=(%22%圖5b%5E%22%5C%5C%5D *(%3F%3A%5C%5c所示。%圖5b%5E%22 %5C%5C%5D *)*%22)%7C%5CS%2b是I =%22boolean%22%3A +%22K +鄰近%2F3 +%5C%22funds +私人%5C%22%22&R =%241)。 –