[vim ] 問題請教

看板Editor (編輯器(vim/emacs))作者 (Jason)時間4年前 (2020/10/30 11:09), 編輯推噓3(301)
留言4則, 3人參與, 4年前最新討論串1/2 (看更多)
請問大家: 我想 search/replace 條件如下: 把 IODIN[7] --> 換成 IODIN_7_ 就是把所有 "[", "]" 換成 "_" 但又不會破壞中括號前面和後面的字元. 我使用如下: %s/[A-Za-z0-9]\[/_/g 但這就把 [ 前面的 N 替代掉了. 不能只搜尋 "[" , 我要 "[" 前面緊跟著A-Za-z0-9的才要換成 "_" 但如何能不破壞 "[" 前面的字元呢 ? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.3.220 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1604027372.A.6B0.html

10/30 11:47, 4年前 , 1F
把整串IODIN[7]拿去換成IODIN_7_ 那就行了呀
10/30 11:47, 1F

10/30 12:07, 4年前 , 2F
%s/[A-Za-z0-9]\zs\[\(.*\)\]/_\1_/g
10/30 12:07, 2F

10/30 12:09, 4年前 , 3F
這個比較好 %s/[A-Za-z0-9]\zs\[\([^]]*\)\]/_\1_/g
10/30 12:09, 3F

10/30 21:39, 4年前 , 4F
謝謝akria大大!
10/30 21:39, 4F
文章代碼(AID): #1VcuFiQm (Editor)
討論串 (同標題文章)
文章代碼(AID): #1VcuFiQm (Editor)