belirli bir metindeki belirli bir karakterden sonra dizeleri kaldırma


16

Aşağıdaki gibi bir veri setim var. © karakterinden sonraki tüm karakterleri kaldırmak istiyorum. Bunu R'de nasıl yapabilirim?

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

data_clean_df <- as.data.frame(data_clean_phrase)

Belirli bir karakterden sonra mı yoksa belirli bir dizinden mi sonra?
Dawny33

Belirli bir karakterden sonra: ©
Hamideh

Sonra, mevcut cevap sorunuzu çözdü gibi görünüyor :)
Dawny33

Yanıtlar:


21

Örneğin:

 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 "

Veya @ karakterini korumak istiyorsanız:

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

DÜZENLEME: İstediğiniz her şeyi son @'dan kaldırmaksa, bu önceki örneği uygun normal ifadeyle takip etmeniz yeterlidir. Misal:

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 "

Aradığımız eşleşme göz önüne alındığında, hem sub hem de gsub size aynı cevabı verecektir.


Teşekkür ederim. ve Ya metindeki son © için yapmak istersem.
Şunu

@HamidehIraj Sen yararlanabilirler regexes o yürütmek için.
Dawny33

1
Rica ederim. Normal ifade için kullanmaya başladığınızda, son @ karakterden kaldırmanın o kadar kolay olduğunu göreceksiniz. Cevabımı bu davayı da içerecek şekilde düzenledim.
MASL
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.