2016-02-05 72 views
0

我使用Emacs,和我有一些像這樣的字符串文件..搜索和替換的字符在Emacs序列

IMPORTED_DATA_K_NAME 
IMPORTED_DATA_L_PHONE 
IMPORTED_DATA_M_URL 

我想改變的內容..

IMPORTED_DATA_A_NAME 
IMPORTED_DATA_B_PHONE 
IMPORTED_DATA_C_URL 

基本上改變_K_ to _A__L_ to _B_依此類推。

這是一個相當大的文件,有很多重複。我正在查看查詢替換正則表達式,但不知道是否這樣做或有沒有更好的方式來完成這一改變。

任何幫助表示讚賞。

+0

您所需的輸出不清楚,您是否希望新的字母始終是字母表中的下一個字母?如果輸入超過26行,會發生什麼情況? – alex9311

+0

不是下一個字母..它需要從'A'開始,如ASCII 65.所以_K_總是_A_和_L_總是_B_等。 – Sharath

+0

我仍然沒有看到你的模式。你想要輸入的ascii值--10嗎?如果您的輸入有IMPORTED_DATA_A_NAME,會發生什麼情況? – alex9311

回答

0

C-M-%M-x query-replace-regexp與正則表達式_\([K-Z]\)_和替換_\,(char-to-string (- (string-to-char \1) 10))_\,(expr)代替評價(expr) as lisp。