2016-05-17 14 views
6

मैं सभी के लिए इसी तरह एक डेटा फ्रेम में तार का एक क्षेत्र है:आर एक भी दोहरा उद्धरण चिह्न gsub

"Young Adult – 8-9"" 

जहां भीतरी एकल "मैं कुछ भी नहीं है के साथ बदलने के लिए प्राप्त करने के लिए क्या चाहते हैं:

?
"Young Adult - 8-9" 

मैं यह कैसे कर सकते मैं एक डबल बैकस्लैश के साथ भागने की कोशिश की:

gsub("\\"", "", string) 

लेकिन यह त्रुटि आई: त्रुटि: अप्रत्याशित स्ट्रिंग स्थिर "gsub (" \ "", ""

+1

' 'स्ट्रिंग <के रूप में बनाया स्ट्रिंग' है? – nrussell

+1

आपको एक और बैकस्लैश की आवश्यकता है (आपके कोड को चलाने के लिए - चाहे वह वही करे जो आप चाहते हैं एक और सवाल है) – eddi

+3

एक कम बैकस्लैश भी काम करता है। या बस '' '' ' – alistaire

उत्तर

7

आपको नियमित अभिव्यक्ति में दोहरे उद्धरण से बचने की आवश्यकता नहीं है। एक डबल डबल कोट से मेल खाने के लिए बस "\"" का उपयोग करें। ' "युवा वयस्क - - 8-9" "'` या `स्ट्रिंग <- 'युवा वयस्क - 8-9"' `

s = "Young Adult – 8-9\"" 
s 
[1] "Young Adult – 8-9\"" 
gsub("\"", "", s) 
[1] "Young Adult – 8-9" 

देखें this IDEONE demo

+0

दरअसल, 'gsub (" \ "", "", s, fixed = TRUE) का उपयोग करना बेहतर है - रेगेक्स इंजन के पहले तर्क को पारित करने की आवश्यकता नहीं है। –

संबंधित मुद्दे