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)

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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.