2017-02-07 30 views
1

我具有語音的一部分的數據幀標記爲字符串 實施例一特殊字符之前解壓縮的話:正則表達式中的R到

best_JJS phone_NN only_RB issue_NN camera_NN sensor_NN have_VB mind_NN own_JJ 

我想刪除後的標籤/和「_」,這樣我有輸出

best phone only issue camera sensor have mind own 

我正在使用R和我無法找到gsub函數適當的正則表達式。 我試過了。

sentence= c("best_JJS phone_NN only_RB issue_NN camera_NN sensor_NN have_VB mind_NN own_JJ") 
o1=gsub("\\_.*","",sentence, perl = T) 

但是,這將刪除第一個下劃線後的整個字符串。由於提前

回答

1

您可以使用_[A-Z]+ TRE圖案gsub

sentence <- c("best_JJS phone_NN only_RB issue_NN camera_NN sensor_NN have_VB mind_NN own_JJ") 
gsub("_[A-Z]+","",sentence) 
[1] "best phone only issue camera sensor have mind own" 

R demo

_[A-Z]+模式的下劃線(_匹配,注意它沒有在正則表達式來進行轉義模式)和一個或多個(+)大寫ASCII字母([A-Z])。

您還可以精確的模式,也就是說,只有當它前面有一個字字符匹配_,只有當一個字邊界後跟匹配大寫字母:

"\\B_[A-Z]+\\b 

如果你想創建該POS值一個非常具體的正則表達式,你可以使用交替:

"\\B_(JJ|NN|CC|[VR]B)\\b" 

,並繼續添加|<code>的正則表達式。

+1

非常感謝!這非常有幫助。 –

+0

@ WiktorStribiżew:對不起。我仍然在想如何有效地使用這個論壇。再次感謝。 –