2013-07-16 30 views
0

在R中,我有一個字符串w,並希望擺脫SQL註釋部分,即/**/之間的字符。R gsub刪除字符串中的SQL註釋

這是我到目前爲止已經試過,但它不是做得比較工作....

w <- "ldsjflsdj /* hhhhhhhhsdlfjlsj */ dskfhjsdkjfhsd" 
gsub("[/**/]","",w) 

理想的輸出會是這樣的:

`ldsjflsdj dskfhjsdkjfhsd` 

如何實現這個?

我敢肯定它的簡單,我只是沒有在regex

感謝專家,

HLM

+0

怎麼樣結束行註釋,即' - 這是一個評論'? –

+0

我已經處理了在以前的grep ...我認爲這是'/ *'這是討厭我,因爲我不知道如何做兩個特殊字符邏輯之間...... –

回答

3

假設它在C有嵌套評論,下面應該是爲非法工作:

gsub("/\\*.*?\\*/", "", w); 
+2

也許'gsub(「 /\\*.*\\*/「,」「,w)'? – A5C1D2H2I1M1N2O1R2T1

+0

@AnandaMahto:爲什麼是一個貪婪的量詞? –

+0

(主要是因爲我不太瞭解正則表達式......)。你的答案在這裏的例子很好。 +1 – A5C1D2H2I1M1N2O1R2T1

2

使用qdap封裝的genX

library(qdap) 
genX(w, "/\\*", "/\\*") 

## [1] "ldsjflsdj dskfhjsdkjfhsd" 
+0

好用'qdap'! –