Manipulasi String
Pelajaran 12 dari 14 dalam kursus Manipulasi Data dengan R di Coddy.
Paket stringr menyediakan kumpulan fungsi yang lengkap untuk bekerja dengan string.
Memuat paket stringr
library(stringr)Pencocokan pola
Fungsi str_detect() memeriksa apakah suatu pola ada dalam string:
text <- c("apple", "banana", "cherry")
str_detect(text, "an") # Mengembalikan: FALSE TRUE FALSEPenggantian string
Fungsi str_replace() mengganti kemunculan pertama suatu pola:
text <- "Hello world"
str_replace(text, "world", "R") # Mengembalikan: "Hello R"Memisahkan string
Pisahkan string menjadi vektor karakter dengan str_split():
text <- "apple,banana,cherry"
str_split(text, ",") # Mengembalikan list: list("apple", "banana", "cherry")Menghapus spasi
Hapus spasi di awal dan akhir menggunakan str_trim():
text <- " Hello, R! "
str_trim(text) # Mengembalikan: "Hello, R!"Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Tantangan
MudahBuat fungsi yang memproses list alamat email menggunakan teknik manipulasi string dari package stringr. Fungsi tersebut harus melakukan operasi berikut:
- Ambil nama pengguna (bagian sebelum @) dari setiap alamat email
- Ganti angka apa pun dalam nama pengguna dengan garis bawah (_)
- Gunakan
str_replace_all()dengan pola\\duntuk mengganti semua digit. Contoh:str_replace_all(username, "\\d", "_")
- Gunakan
- Jadikan huruf pertama setiap nama pengguna sebagai huruf kapital
- Kamu dapat menggunakan fungsi
str_to_title()untuk ini. Fungsi ini menjadikan huruf pertama setiap kata dalam string sebagai huruf kapital.
- Kamu dapat menggunakan fungsi
- Hapus spasi kosong di awal atau akhir nama pengguna yang telah diproses
- Kembalikan nama pengguna yang telah diproses sebagai string yang dipisahkan dengan koma
- Gunakan
str_c()dengan argumen collapse untuk menggabungkan nama pengguna. Contoh:str_c(usernames, collapse = ", ")
- Gunakan
Coba sendiri
# Baca input
con <- file("stdin", "r")
email_list <- suppressWarnings(readLines(con))
suppressPackageStartupMessages(library(stringr))
process_emails <- function(email_list) {
# Pisahkan list email menjadi alamat email satu per satu
emails <- str_split(email_list, ",\\s*")[[1]]
# TODO: Tulis kodemu di bawah ini untuk memproses alamat email
# 1. Ambil nama pengguna
# 2. Ganti angka dengan garis bawah
# 3. Ubah huruf pertama menjadi huruf kapital
# 4. Hapus spasi di awal dan akhir
# 5. Gabungkan nama pengguna yang sudah diproses dengan koma
# Tempat penampung untuk nama pengguna yang sudah diproses
processed_usernames <- ""
# Kembalikan nama pengguna yang sudah diproses sebagai string yang dipisahkan koma
return(processed_usernames)
}
# Panggil fungsi dan cetak hasilnya
result <- process_emails(email_list)
cat(result)Semua pelajaran di Manipulasi Data dengan R
Latihan sendiri: Compiler R online