免責聲明:這是理論問題,目的是增加我的理解。我知道我總是可以使用像JSON庫這樣的工具來解決問題。什麼是最簡單(且正確)的轉義算法?
假設我想創建一個逗號分隔的值列表,它們本身可能包含逗號。這些逗號需要先逃脫。假設我使用.
作爲轉義字符,那麼["a", "b,c"]
變成a,b.,c
。
但是,如果值的一個最初包含一個.,
序列,然後我們需要那些之前逃跑逃避逗號。所以[ "a", "b.,c" ]
變成a,b..,c
。
但是,如果其中一個值最初包含..,
序列,那麼在轉義逗號前之前,我們需要跳過那些。所以[ "a", "b..,c" ]
變成a,b...,c
。
但是,如果其中一個值最初包含...,
序列,那麼在轉義逗號前之前,我們需要跳過那些。所以[ "a", "b...,c" ]
變成a,b....,c
。
等...
解碼過程必須執行反向遞歸。
但是,我懷疑如果我太努力了,並有一個更簡單的方法。有一種更簡單的方法嗎?
爲什麼你覺得那太複雜了?找到一個轉義字符,檢查它後面的內容,根據這個做一個動作,重複。 – mmgp 2013-02-08 20:22:16
你是什麼意思「簡單?」這似乎具有內在的主觀性。 – templatetypedef 2013-02-08 20:24:19
首先,希望人們離開這個網站去弄清楚你要問的並不是通常的工作方式(如果因爲某種原因不在場外的位置,你的問題就變得毫無意義)。其次,由於您有工作代碼,並且您正在尋求改進,所以這確實屬於[CodeReview](http://codereview.stackexchange.com)。 – 2013-02-08 20:24:41