menghapus string setelah karakter tertentu dalam teks yang diberikan

15

Saya memiliki dataset seperti di bawah ini. Saya ingin menghapus semua karakter setelah karakter ©. Bagaimana saya bisa melakukannya di 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
sumber
Apakah itu setelah karakter tertentu, atau setelah indeks tertentu?
Dawny33
Setelah karakter tertentu: ©
Hamideh
Kemudian, sepertinya jawaban yang ada memecahkan pertanyaan Anda :)
Dawny33

Jawaban:

19

Contohnya:

 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 "

Atau, jika Anda ingin mempertahankan karakter @:

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

Sunting: Jika yang Anda inginkan adalah menghapus semuanya dari @ terakhir, Anda hanya perlu mengikuti contoh sebelumnya dengan regex yang sesuai. Contoh:

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 "

Mengingat pencocokan yang kami cari, baik sub dan gsub akan memberikan jawaban yang sama.

MASL
sumber
Terima kasih. dan Bagaimana jika saya ingin melakukannya untuk © terakhir dalam teks. Pertimbangkan ini: c ("© aaa © bbb") -> c ("© aaa")
Hamideh
@HamidehIraj Anda dapat menggunakan regex untuk menjalankannya.
Dawny33
1
Sama sama. Setelah Anda terbiasa dengan regex Anda akan melihat bahwa mudah untuk menghapus dari @ char terakhir. Saya sudah mengedit jawaban saya untuk memasukkan kasus ini juga.
MASL