[問題] 文字替換問題

看板Editor作者 (小雞雞滴咆哮)時間13年前 (2010/09/13 22:32), 編輯推噓1(1012)
留言13則, 5人參與, 最新討論串1/1
因為在看mysql想用匯入檔案時有遇到依些問題, 假設檔案如下↓ 1,莊啟明,台北市,45678854 2,正心程,台北縣,35891164 3,王依明,台北市,58913589 4,周立華,台北縣,44890327 5,鍾馗文,台北市,48052478 6,無文華,台北縣,14378064 7,郭俊及,高雄縣,97541257 8,陳立夫,高雄市,85421578 9,趙梓心,高雄縣,47899743 我想要把他變成↓ '1','莊啟明','台北市','45678854' '2','正心程','台北縣','35891164' '3','王依明','台北市','58913589' '4','周立華','台北縣','44890327' '5','鍾馗文','台北市','48052478' '6','無文華','台北縣','14378064' '7','郭俊及','高雄縣','97541257' '8','陳立夫','高雄市','85421578' '9','趙梓心','高雄縣','47899743' 我想不太到解法所以都用區塊選...., vim 有正規法的好解法嗎?%s///g 先謝過。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.122.8.240

09/13 22:55, , 1F
:%s/\([^,][^,]*\)/\"\1\"/g 應該還有更好的
09/13 22:55, 1F

09/13 22:55, , 2F
我好像用錯成雙引號了,改成單引號就可以了
09/13 22:55, 2F

09/14 00:01, , 3F
T大強喔,如果可以能夠麻煩解說一下嗎?感恩
09/14 00:01, 3F

09/14 00:06, , 4F
[^,] :除了,以外的字元 [^,][^,]* :一個以上
09/14 00:06, 4F

09/14 00:08, , 5F
\1 是把前面括號 match 到的部份拿來用
09/14 00:08, 5F

09/15 00:28, , 6F
:%s/,/'&'/g
09/15 00:28, 6F

09/15 00:28, , 7F
:%s/^\|$/'/g
09/15 00:28, 7F

09/15 00:32, , 8F
....其實我想說的是 :%s/[^,]\+/'&'/g
09/15 00:32, 8F

09/15 03:25, , 9F
真多強者
09/15 03:25, 9F

09/15 14:49, , 10F
s大你的方式看起來 & 是代表t大的1的感覺,是嗎?
09/15 14:49, 10F

09/15 15:03, , 11F
&代表整個match pattern,\1表示第1個括號圈住的部份
09/15 15:03, 11F

09/15 18:25, , 12F
再次感謝T大,(膜拜)
09/15 18:25, 12F

09/24 13:09, , 13F
csv...
09/24 13:09, 13F
文章代碼(AID): #1CZZN-Z0 (Editor)