Program
Memangkas teks adalah tugas mendasar saat menangani data teks di Python, terutama pada tahap pembersihan dan persiapan data dalam proyek data science. Pemangkasan membantu menghapus karakter yang tidak diinginkan, seperti spasi kosong, dari awal dan akhir string, sehingga data Anda menjadi lebih konsisten dan siap dianalisis.
Dalam tutorial ini, saya akan memandu Anda melalui tiga metode utama untuk memangkas string di Python: .strip(), .lstrip(), dan .rstrip(), serta membahas kasus penggunaan spesifik untuk menunjukkan fleksibilitas dan kegunaannya dalam skenario dunia nyata.
3 Metode untuk Memangkas String di Python
Python menyediakan metode bawaan untuk memangkas string, sehingga pembersihan dan prapemrosesan data tekstual menjadi mudah. Metode-metode ini meliputi
.strip(): Menghapus karakter di awal dan akhir (secara default spasi kosong)..lstrip(): Menghapus karakter di awal (secara default spasi kosong) dari sisi kiri string..rstrip(): Menghapus karakter di akhir (secara default spasi kosong) dari sisi kanan string.
Memahami metode-metode ini memungkinkan manipulasi dan persiapan teks yang efisien, yang penting untuk setiap tugas data science yang melibatkan data tekstual.
1. Menghapus spasi kosong di awal dan akhir string di Python menggunakan .strip()
Metode .strip() dirancang untuk menghilangkan karakter di awal dan akhir string sekaligus. Ini paling sering digunakan untuk menghapus spasi kosong. Berikut contoh saat digunakan pada string " I love learning Python! ".
text = " I love learning Python! "
trimmed_text = text.strip()
print(trimmed_text) # Output: "I love learning Python!"
Metode ini sangat berguna untuk menstandarkan string yang mungkin memiliki jumlah spasi kosong di awal dan akhir yang bervariasi.
2. Menghapus spasi kosong di awal string di Python menggunakan .lstrip()
Metode .lstrip() menargetkan sisi kiri string, menghapus karakter di awal. Secara default, metode ini menghapus spasi kosong, tetapi dapat diarahkan untuk menghapus karakter tertentu. Berikut penerapan metode .lstrip() pada string yang sama " I love learning Python! " dari contoh sebelumnya:
text = " I love learning Python! "
left_trimmed_text = text.lstrip()
print(left_trimmed_text) # Output: "I love learning Python! "
.lstrip() berguna ketika Anda perlu membersihkan string yang diawali dengan spasi atau karakter yang tidak diinginkan, misalnya pada daftar nama atau data kategorikal.
3. Menghapus spasi kosong di akhir string di Python menggunakan .rstrip()
Metode .rstrip() melengkapi .lstrip() dengan menghapus karakter yang berada di akhir dari sisi kanan string. Metode ini juga fleksibel dalam menentukan karakter mana yang akan dihapus. Berikut penerapannya pada contoh yang sama seperti di atas:
text = " I love learning Python! "
right_trimmed_text = text.rstrip()
print(right_trimmed_text) # Output: " I love learning Python!"
Gunakan .rstrip() saat menangani string yang memiliki karakter atau spasi yang tidak diinginkan di akhir, seperti tanda baca atau catatan kaki yang menyusul.
Menghapus Karakter Tertentu dari String di Python
Metode pemangkasan string di Python memungkinkan Anda menentukan karakter mana yang akan dihapus dari awal dan akhir string. Fungsionalitas ini menambah fleksibilitas pada metode .strip(), .lstrip(), dan .rstrip(), sehingga memungkinkan operasi pembersihan string yang lebih terarah.
Namun, seperti yang akan kita lihat pada contoh, penting untuk memahami keterbatasan bawaan metode-metode ini: metode tersebut tidak mampu menghapus karakter dari tengah string atau menangani penghapusan berbasis pola yang lebih kompleks. Untuk kebutuhan tingkat lanjut seperti itu, regular expression (regex) menawarkan solusi yang lebih andal.
Menghapus karakter tertentu dari string di Python menggunakan .strip()
Pertama, mari mulai dengan metode .strip(). Metode .strip() dapat dikustomisasi untuk menghapus bukan hanya spasi kosong tetapi juga karakter tertentu dari kedua ujung string. Berikut contohnya:
text = "!!!I love learning Python!!!"
specific_char_trimmed = text.strip('!')
print(specific_char_trimmed) # Output: "I love learning Python"
Sekarang bayangkan string kita sebenarnya adalah "xxxyyy I love learning Python xxxyyy". Mengingat bahwa ”xxx” dan ”yyy” berada di awal dan akhir string, keduanya dapat dihapus dengan menentukan karakter ’xy’ sebagai karakter yang akan dihapus. Berikut contohnya!
text = "xxxyyy I love learning Python xxxyyy"
specific_chars_trimmed = text.strip('xy')
print(specific_chars_trimmed) # Output: " I love learning Python "
Seperti disebutkan sebelumnya, penting untuk dipahami bahwa .strip() tidak dapat menghapus karakter dari tengah string. Misalnya, jika teks yang kita pangkas adalah "!!!I love learning!!! Python!!!"—hasil operasi di atas adalah ”I love learning!!! Python”. Untuk operasi penghapusan yang lebih kompleks, sebaiknya gunakan regular expression alih-alih metode strip yang diuraikan dalam tutorial ini.
Menghapus karakter tertentu dari string di Python menggunakan .lstrip() dan .rstrip()
Hal yang sama dapat diterapkan pada metode .lstrip() dan .rstrip(). Di bawah ini adalah contoh menghapus karakter tertentu di awal dan akhir pada .lstrip() dan .rstrip(), masing-masing:
text = "!!!I love learning Python!!!"
left_char_trimmed = text.lstrip('!')
print(left_char_trimmed) # Output: "I love learning Python!!!"
right_char_trimmed = text.rstrip('!')
print(right_char_trimmed) # Output: "!!!I love learning Python"
Selain itu, teknik yang sama untuk menghapus beberapa karakter dapat diterapkan pada .lstrip() dan .rstrip()
text = "xxxyyy I love learning Python xxxyyy"
left_chars_trimmed = text.lstrip('xy')
print(left_chars_trimmed) # Output: " I love learning Python xxxyyy"
right_chars_trimmed = text.rstrip('xy')
print(right_chars_trimmed) # Output: "xxxyyy I love learning Python"
Metode Pemangkasan String Baru di Python 3.9
Python 3.9 memperkenalkan str.removeprefix() dan str.removesuffix(), yang secara eksplisit menghapus prefiks atau sufiks yang diketahui.
Menghapus prefiks menggunakan removeprefix()
text = "Python_is_fun"
trimmed_text = text.removeprefix("Python_")
print(trimmed_text) # Output: "is_fun"
Menghapus sufiks menggunakan removesuffix()
text = "data_cleaning.csv"
trimmed_text = text.removesuffix(".csv")
print(trimmed_text) # Output: "data_cleaning"
Pertimbangan Performa untuk Pemangkasan String
Saat bekerja dengan dataset besar, memangkas string secara efisien itu penting. .strip(), .lstrip(), dan .rstrip() beroperasi dengan kompleksitas waktu O(n). Namun, untuk dataset yang sangat besar, menggunakan operasi tervektorisasi di Pandas bisa lebih efisien:
import pandas as pd
df = pd.DataFrame({"text": [" Data Science ", " Machine Learning "]})
df["cleaned_text"] = df["text"].str.strip()
print(df)
Kesimpulan
Memahami pemangkasan dan manipulasi string sangat penting untuk pemrograman Python yang efektif. Sementara metode .strip(), .lstrip(), dan .rstrip() memenuhi kebutuhan dasar, untuk skenario yang lebih kompleks Anda mungkin perlu menggunakan regular expression. Untuk pembelajaran lebih lanjut, pertimbangkan untuk menjelajahi tutorial kami tentang regular expression, atau mulai dengan Skill Track DataCamp Natural Language Processing in Python.
Adel adalah pendidik Data Science, pembicara, dan VP Media di DataCamp. Adel telah merilis berbagai kursus dan pelatihan langsung tentang analisis data, machine learning, dan rekayasa data. Ia bersemangat menyebarkan keterampilan dan literasi data di seluruh organisasi serta mengeksplorasi persinggungan teknologi dan masyarakat. Ia meraih gelar MSc di bidang Data Science dan Business Analytics. Di waktu luang, Anda bisa menemukannya bersantai bersama kucingnya, Louis.
FAQ
Bisakah saya menggunakan .strip(), .lstrip(), atau .rstrip() untuk menghapus karakter numerik dari string?
Ya, Anda dapat menentukan karakter numerik sebagai target untuk dihapus. Contohnya:
text = "12345Python12345"
trimmed_text = text.strip('12345')
print(trimmed_text) # Output: "Python"Bagaimana .strip(), .lstrip(), dan .rstrip() menangani string dengan karakter spasi campuran seperti tab atau baris baru?
Secara default, metode-metode ini menghapus semua jenis spasi kosong, termasuk spasi, tab (\t), dan baris baru (\n). Contohnya:
text = "\t\n Python Programming \n\t"
trimmed_text = text.strip()
print(trimmed_text) # Output: "Python Programming"Apa yang terjadi jika saya memanggil .strip(), .lstrip(), atau .rstrip() pada string kosong?
Jika Anda memanggil metode ini pada string kosong, metode tersebut mengembalikan string kosong tanpa error. Contohnya:
text = ""
trimmed_text = text.strip()
print(trimmed_text) # Output: ""
