2013-04-03 29 views
2

我已經凍結了大腦,需要幫助找出從一個或多個序列元素中刪除\ return \ newline字符的最佳方法。我知道\返回13和\換行是10.我需要幫助搞清楚如何在地圖或過濾器中使用它。如何從序列元素中刪除^ M

我從正在變成一個載體,看起來像這樣

AT|254 Torrence Ave||Scuffington|ZA|12345|7248|541|C029^M\n 
|11|900036|e| 

,但應該是這樣的節目接收數據傳回:

AT|254 Torrence Ave||Scuffington|ZA|12345|7248|541|C029|11|900036|e| 

什麼是去除的最佳途徑回車?

我試過過濾器,但不知道如何表示<CR>,所以過濾器給我的所有元素都不是<CR>

+0

^M是ASCII 13.是否幫助呢? –

+0

對不起,沒有幫助,因爲我需要知道如何從字符串中過濾出該數字。 – octopusgrabbus

+0

你是否確定這是一個CR,而不是一個字面的'^'後跟一個'M'? –

回答

2

^M(字符nr 13)文字的clojure代碼是\return"\r",如果是字符串文字的一部分。

所以,你可以使用類似:

(apply str (filter (fn [c] (not= c \return)) "string with \r characters")) 
+0

非常感謝。我會去試試這個,這正是我需要的幫助。 – octopusgrabbus

+0

您的答案適用於測試字符串「This is a test。\ return」,但不適用於我列出的內容。如果你有其他想法,我會喜歡它們。我保持你的答案被接受,因爲它有效,但不適合我的例子。 – octopusgrabbus

+0

您的字符串中可能有return和換行符。所以你應該檢查'\ newline'和'\ return' –