Lewati ke konten utama

Menggunakan Regular Expression untuk Membersihkan String

Tutorial ini mengambil materi kursus dari kursus Cleaning Data in Python milik DataCamp dan memungkinkan Anda membersihkan string menggunakan regular expression.
Diperbarui 28 Sep 2026  · 4 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Jika Anda ingin mengikuti kursus gratis Intro to R kami, berikut tautannya.

Mengekstrak Nilai Numerik dari String

Mengekstrak angka dari string adalah tugas umum, khususnya saat bekerja dengan data tidak terstruktur atau file log.

Misalkan Anda memiliki string berikut: 'the recipe calls for 6 strawberries and 2 bananas'.

Akan berguna untuk mengekstrak 6 dan 2 dari string ini untuk disimpan dan digunakan nanti saat membandingkan rasio stroberi terhadap pisang.

Saat menggunakan regular expression untuk mengekstrak beberapa angka (atau lebih tepatnya beberapa kecocokan pola), Anda dapat menggunakan fungsi re.findall(). Dan tidak membahas ini dalam video, tetapi penggunaannya cukup mudah: Anda memberikan sebuah pola dan sebuah string ke re.findall(), dan fungsi tersebut akan mengembalikan daftar kecocokan.

Instruksi

  • Impor re.
  • Tulis sebuah pola yang akan menemukan semua angka dalam string berikut: 'the recipe calls for 10 strawberries and 1 banana'. Untuk melakukannya:
    • Gunakan fungsi re.findall() dan berikan dua argumen: polanya, diikuti oleh stringnya.
    • \d adalah pola yang diperlukan untuk menemukan digit. Ikuti dengan + agar elemen sebelumnya dicocokkan satu kali atau lebih. Ini memastikan 10 dipandang sebagai satu angka dan bukan 1 dan 0.
  • Cetak hasil kecocokan untuk memastikan regular expression Anda menemukan nilai 10 dan 1.
# Import the regular expression module ____ # Find the numeric values: matches matches = re.findall('____', '____') # Print the matches print(____) # Import the regular expression module import re # Find the numeric values: matches matches = re.findall('\d+', 'the recipe calls for 10 strawberries and 1 banana') # Print the matches print(matches) Ex().test_import('re') Ex().test_correct(test_object('matches'), test_function('re.findall')) Ex().test_function('print') success_msg('Excellent work - your regular expression successfully extracted the numeric values 10 and 1 from the string!')
  • Gunakan perintah import x untuk mengimpor modul x.
  • Argumen pertama untuk re.findall() harus \d+, dan argumen kedua harus string: 'the recipe calls for 10 strawberries and 1 banana'.
  • Gunakan fungsi print() yang disediakan untuk mencetak matches.

Jika itu sudah jelas, lanjutkan ke latihan berikutnya! Jika belum, berikut video ringkasannya.

Video Ringkasan tentang Menggunakan Regular Expression untuk Membersihkan String di Python

Pencocokan Pola

Dalam latihan ini, Anda akan terus melatih keterampilan regular expression. Untuk setiap string yang disediakan, tugas Anda adalah menuliskan pola yang sesuai untuk mencocokkannya.

Instruksi

  • Tulis pola untuk mencocokkan:
    • Nomor telepon dengan format xxx-xxx-xxxx. Anda sudah melakukannya di latihan sebelumnya.
    • Sebuah string dengan format: Tanda dolar, sejumlah digit sebarang, titik desimal, 2 digit.
      • Gunakan \$ untuk mencocokkan tanda dolar, \d* untuk mencocokkan sejumlah digit sebarang, \. untuk mencocokkan titik desimal, dan \d{x} untuk mencocokkan x jumlah digit.
  • Sebuah huruf kapital, diikuti oleh sejumlah karakter alfanumerik sebarang.
    • Gunakan [A-Z] untuk mencocokkan huruf kapital mana pun diikuti dengan \w* untuk mencocokkan sejumlah karakter alfanumerik sebarang.
import re # Write the first pattern pattern1 = bool(re.match(pattern='____', string='123-456-7890')) print(pattern1) # Write the second pattern pattern2 = bool(re.match(pattern='____', string='$123.45')) print(pattern2) # Write the third pattern pattern3 = bool(re.match(pattern='____', string='Australia')) print(pattern3) # Write the first pattern pattern1 = bool(re.match(pattern='\d{3}-\d{3}-\d{4}', string='123-456-7890')) print(pattern1) # Write the second pattern pattern2 = bool(re.match(pattern='\$\d*\.\d{2}', string='$123.45')) print(pattern2) # Write the third pattern pattern3 = bool(re.match(pattern='[A-Z]\w*', string='Australia')) print(pattern3) Ex().test_correct(test_object('pattern1'), test_function('re.match', index=1)) Ex().test_function('print', index=1) Ex().test_correct(test_object('pattern2'), test_function('re.match', index=2)) Ex().test_function('print', index=2) Ex().test_correct(test_object('pattern3'), test_function('re.match', index=3)) Ex().test_function('print', index=3) success_msg("Great work! You're mastering the fundamentals of writing regular expressions!")
  • Ada tiga komponen untuk pola pertama yang perlu dicocokkan oleh regular expression Anda: xxx, xxx, dan xxxx. Dua yang pertama dicocokkan oleh \d{3}, sementara yang terakhir dicocokkan oleh \d{4}. Masing-masing komponen ini harus dipisahkan oleh -.

Jika Anda ingin belajar lebih banyak dari kursus ini, berikut tautannya.

Lihat Python String Tutorial dari DataCamp.

Topik
Python
Data Science

Pelajari lebih lanjut tentang Python

Kursus

Regular Expressions in Python

4 jam
50K
Pelajari manipulasi string dan kuasai penggunaan regular expressions.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya