2015-01-07 31 views
0

我有一個包含引號字符串中的逗號,例如Emacs的使用正則表達式替換

1,2個CSV文件中,「34123」替換引用字符串中的逗號,4

我試圖取代逗號使用正則表達式替換 ( 「[^」,] +)的引用的字符串,([^ 「] +」) 與 $ 1 $ 2

然而emacs的返回結果0出現內。有任何想法嗎?

感謝 鮑勃

+0

感謝您的回覆德魯。我將閱讀推薦的文檔。我之前沒有使用過Emacs Lisp。你的意思是說你使用M-x eval-buffer選擇了包含我的數據的緩衝區後,你發佈的代碼是否運行? – BobMac

回答

1

這是你想要什麼:

(while (re-search-forward "\"[^\",]+\\(,\\)[^\"]+\"") 
    (replace-match "" nil nil nil 1)) 

你真的需要閱讀有關replace-regexp的文檔,以及有關的Emacs Lisp正則表達式的文檔。

試圖以非交互方式使用replace-regexp來執行引用匹配部分的替換是一個禁忌。您想要使用循環來重複匹配文本,然後調用replace-match來替換它或其中的一部分。

從研究Elisp如何表示正則表達式開始。然後學習replace-match用於指代部分匹配的特殊語法 - 它不是$1等。