removendo seqüências de caracteres após um determinado caractere em um determinado texto

15

Eu tenho um conjunto de dados como o abaixo. Quero remover todos os caracteres após o caractere ©. Como posso fazer isso no 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)
Hamideh
fonte
É após um caractere específico ou após um índice específico?
Dawny33
Após um caractere específico: ©
Hamideh 19/11/2015
Então, parece que a resposta existente resolvido sua pergunta :)
Dawny33

Respostas:

19

Por exemplo:

 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 "

Ou, se você deseja manter o caractere @:

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

EDIT: Se o que você deseja é remover tudo do último @, basta seguir este exemplo anterior com a regex apropriada. Exemplo:

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 "

Dada a correspondência que estamos procurando, sub e gsub fornecerão a mesma resposta.

MASL
fonte
Obrigado. e se eu quiser fazer isso pelo último © no texto. Considere o seguinte: c ("© aaa © bbb") -> c ("© aaa")
Hamideh
@HamidehIraj Você pode fazer uso de expressões regulares para executar isso.
Dawny33
1
Você é bem vindo. Depois de se acostumar com a regex, você verá que é tão fácil remover do último @ char. Também editei minha resposta para incluir este caso.
MASL