Kursus
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. \dadalah pola yang diperlukan untuk menemukan digit. Ikuti dengan+agar elemen sebelumnya dicocokkan satu kali atau lebih. Ini memastikan10dipandang sebagai satu angka dan bukan1dan0.
- Gunakan fungsi
- Cetak hasil kecocokan untuk memastikan regular expression Anda menemukan nilai
10dan1.
# 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 xuntuk mengimpor modulx. - 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 mencetakmatches.
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 mencocokkanxjumlah digit.
- Gunakan
- Nomor telepon dengan format
- 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.
- Gunakan
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, danxxxx. 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.
