2016-07-28 714 views
0

我有一個字符串,因爲這Vim的替代正斜槓

"{\"attributes\":[],\\\\"data\":\" 

我想刪除「\」在這整個文本。我正在使用這個

%s/\/ g  

但它似乎沒有工作,有什麼建議嗎?

但是,如果我這樣做%s/\\\\/ g

我得到

"{\"attributes\":[], g:\\"data\":\" 

有沒有告訴替代空的空間用於更換的\每發生一個簡單的方法

回答

2

你的第一次嘗試缺少以斜線結束命令,並且您將需要轉義反斜槓,因爲它是一個正則表達式特殊字符

"{\"attributes\":[],\\\\"data\":\" 

- >

:%s/\\/ /g 

- >

"{ "attributes ":[], "data ": " 
+2

爲什麼/ G我認爲該命令執行'%S/SearchFor/ReplaceWith g' –

+2

嘗試'需要:幫助:s' ,命令是':[range] s [ubstitute]/{pattern}/{string}/flags',所以它總是有三個'/'。在開始時,百分號是範圍 - 每一行。最後'g'是一個標誌,一個選項--'全局' - 它意味着「搜索並替換你能在線上找到的每一個匹配,而不是在第一個之後停止」。否則它會替換一個'\\'並停止。 – TessellatingHeckler

+1

(離題注意:Vim是Vim,它不會*總是*裏面有三個'/',因爲如果你想替換'/'它會發生衝突並且令人困惑,所以不是's/''你可以使用與其他三個符號相同的模式,它仍然可以工作。':%s $ \\ $ $ g'或':%s'\\''g') – TessellatingHeckler