rimuovendo le stringhe dopo un certo carattere in un dato testo


15

Ho un set di dati come quello qui sotto. Voglio rimuovere tutti i caratteri dopo il carattere ©. Come posso farlo in R?

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

data_clean_df <- as.data.frame(data_clean_phrase)

È dopo un carattere specifico o dopo un indice specifico?
Dawny33

Dopo un personaggio specifico: ©
Hamideh,

Quindi, sembra che la risposta esistente abbia risolto la tua domanda :)
Dawny33

Risposte:


19

Per esempio:

 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 "

Oppure, se si desidera mantenere il carattere @:

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

EDIT: Se quello che vuoi è rimuovere tutto dall'ultimo @ in poi devi solo seguire questo esempio precedente con la regex appropriata. Esempio:

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 "

Data la corrispondenza che stiamo cercando, sia sub che gsub ti daranno la stessa risposta.


Grazie. e se volessi farlo per l'ultimo © nel testo. Considera questo: c ("© aaa © bbb") -> c ("© aaa")
Hamideh,

@HamidehIraj Puoi usare regex per eseguirlo.
Dawny33

1
Prego. Una volta che ti sarai abituato a regex, vedrai che è facile da rimuovere dall'ultimo @ char. Ho modificato la mia risposta per includere anche questo caso.
MASL
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.