दिए गए पाठ में एक निश्चित चरित्र के बाद तार को हटा देना


15

मेरे पास नीचे की तरह एक डाटासेट है। मैं चरित्र के बाद सभी पात्रों को हटाना चाहता हूं ©। आर में मैं कैसे कर सकता हूं?

data_clean_phrase <- c("Copyright © The Society of Geomagnetism and Earth", 
"© 2013 Chinese National Committee ")

data_clean_df <- as.data.frame(data_clean_phrase)

क्या यह एक विशिष्ट चरित्र के बाद, या एक विशिष्ट सूचकांक के बाद है?
Dawny33

एक विशिष्ट चरित्र के बाद: ©
हमीदह

फिर, लगता है कि मौजूदा उत्तर आपके प्रश्न :) हल
Dawny33

जवाबों:


19

उदाहरण के लिए:

 rs<-c("copyright @ The Society of mo","I want you to meet me @ the coffeshop")
 s<-gsub("@.*","",rs)
 s
 [1] "copyright "             "I want you to meet me "

या, यदि आप @ वर्ण रखना चाहते हैं:

 s<-gsub("(@).*","\\1",rs)
 s
 [1] "copyright @"             "I want you to meet me @"

संपादित करें: यदि आप चाहते हैं कि आप पर पिछले @ से सब कुछ हटा दिया जाए तो आपको उचित रेगेक्स के साथ इस पिछले उदाहरण का पालन करना होगा। उदाहरण:

rs<-c("copyright @ The Society of mo located @ my house","I want you to meet me @ the coffeshop")
s<-gsub("(.*)@.*","\\1",rs)
s
[1] "copyright @ The Society of mo located " "I want you to meet me "

हम जिस मिलान की तलाश कर रहे हैं, उसे देखते हुए, दोनों उप और gsub आपको एक ही उत्तर देंगे।


धन्यवाद। और क्या होगा अगर मैं पाठ में आखिरी © के लिए करना चाहता हूं। इस पर विचार करें: c ("© aaa © bbb") -> c ("© aaa")
Hamideh

@ HamidehIraj आप इसे निष्पादित करने के लिए regexes का उपयोग कर सकते हैं ।
Dawny33

1
आपका स्वागत है। एक बार जब आप regex का उपयोग कर लेते हैं, तो आप देखेंगे कि पिछले @ चार से निकालना उतना ही आसान है। मैंने इस मामले को शामिल करने के लिए अपना उत्तर संपादित किया है।
MASL
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.