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)

É 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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.