Latihan 1 dari materi Replace & Transform di Regex — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi dua function di starter. Keduanya mengubah teks lewat .replace() (atau .replaceAll()) dengan regex, bukan dengan memotong dan menyambung string.
toTitleCase(str): kembalikan str dengan huruf pertama tiap kata dibesarkan. Pakai .replace() dengan regex ber-flag g dan function pengganti, misalnya /\b\w/g dengan toUpperCase().
censorEmail(email): kembalikan email dengan huruf pertama sebelum @ dipertahankan, sisa nama sebelum @ diganti ***, dan bagian dari @ sampai akhir dibiarkan utuh. Tangkap bagian yang dipertahankan dengan group, lalu susun ulang di teks pengganti dengan $1 dan $2.
Empat console.log di starter memanggil kedua function itu; biarkan. Output yang diharapkan, baris per baris:
Halo Dunia Javascript
Saya Belajar Regex
b***@gmail.com
a***@example.co.id
Yang juga dicek: toTitleCase("dua kata baru") memberi "Dua Kata Baru", toTitleCase("Sudah besar") memberi "Sudah Besar", dan censorEmail("[email protected]") memberi "z***@kampus.ac.id".
Hint
Argumen kedua replace() boleh berupa function: dia dipanggil untuk tiap kecocokan, dan yang dia return jadi penggantinya. Untuk email, teks pengganti biasa sudah cukup, karena $1 dan $2 memakai isi group.
toTitleCase: cocokkan cuma huruf pertama tiap kata dengan /\b\w/g, lalu function-nya mengembalikan huruf itu versi besar. censorEmail: pola /^(.)[^@]*(@.*)$/ menangkap huruf pertama di group 1 dan bagian dari @ sampai akhir di group 2; yang di tengah gak ditangkap.
return str.replace(/\b\w/g, (huruf) => huruf.toUpperCase()); untuk toTitleCase, dan return email.replace(/^(.)[^@]*(@.*)$/, "$1***$2"); untuk censorEmail.
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...