2012-05-24 13 views
9

आर में, gsub में regex [: punct:] का उपयोग कैसे करें?

test<-"Low-Decarie, Etienne" 

मैं अंतरिक्ष

gsub(pattern="[:punct:]", x=test, replacement=" ") 

साथ सभी विराम को बदलने के लिए इच्छा को देखते हुए, लेकिन इस (

"Low-De arie, E ie e" 

पैदा करता है, हालांकि वे हो सकता है, जहां कोई विराम चिह्न बदल दिया जाता है और जाहिरा तौर पर यादृच्छिक अक्षरों को निकाला जाता अगले पंक्ति के लिए टैब और एन के लिए टी के रूप में punctation के साथ जुड़े रहें)।

+9

'पैटर्न =" [[: punct:]] "?' '... की – kohske

+6

उदाहरण अनुभाग gsub' प्रदान की जवाब @kohske का उदाहरण देता है । और हटाए गए पत्र यादृच्छिक नहीं हैं; वे {पी, यू, एन, सी, टी ,:} के सेट में हैं। –

उत्तर

18

यहां फेलो मॉन्ट्रियल उपयोगकर्ता।

कई विकल्प, परिणाम परिणाम।

आर बेस में, बस कोष्ठक

gsub(pattern="[[:punct:]]", test, replacement=" ") 

[1] "Low Decarie Etienne" 

पैकेज समारोह str_replace_all कि है कि है stringr दोगुना।

library(stringr) 
str_replace_all(test, "[[:punct:]]", " ") 

या रखने के केवल अक्षर

str_replace_all(test, "[^[:alnum:]]", " ") 
संबंधित मुद्दे