Menguasai Metode String.find() Python: Sintaks, Contoh & Alternatif
Apa Itu Python String.find()?
Metode String.find() di Python mengembalikan indeks kemunculan pertama dari substring yang ditentukan dalam sebuah string. Jika substring tidak ditemukan, ia dengan anggun mengembalikan -1 alih-alih melemparkan pengecualian, menjadikannya pilihan yang nyaman untuk pencarian substring.
Dalam panduan ini, Anda akan mempelajari cara menggunakan find() secara efektif, menjelajahi parameternya, membandingkannya dengan metode terkait, dan bahkan menghitung berapa kali substring muncul.
- Memahami String.find()
- Sintaks dan parameter
- Menggunakan argumen default
- Menentukan indeks awal
- Menentukan rentang awal dan akhir
- Mencari posisi substring
- Membandingkan dengan rfind()
- Membandingkan dengan index()
- Menghitung kemunculan substring
Sintaks metode string find() Python
Tanda tangan metode sederhana:
string.find(substring, start, end)
Parameter
- substring – Teks yang Anda cari.
- start (opsional) – Indeks di mana pencarian dimulai; default ke
0. - end (opsional) – Indeks di mana pencarian berakhir; default ke panjang string.
Menggunakan find() dengan Nilai Default
Ketika tidak ada start atau end yang disediakan, find() memindai seluruh string dari awal. Ia mengembalikan indeks kemunculan pertama atau -1 jika tidak ada yang ditemukan.
Contoh:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials")) Output:
The position of Tutorials is at: 12
Menentukan Indeks Awal
Menyediakan argumen start membatasi pencarian untuk dimulai pada posisi tersebut, hingga akhir string.
Contoh:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 20)) Output:
The position of Tutorials is at 48
Menentukan Rentang Awal dan Akhir
Dengan menyediakan baik start maupun end, Anda dapat membatasi pencarian ke irisan tertentu dari string.
Contoh:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30)) Output:
The position of Tutorials is at 12
Mencari Posi dan Menangani Substring yang Hilang
Ini adalah cara find() berperilaku ketika substring ada dan ketika tidak ada.
Contoh:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Best site is at:", mystring.find("Best site", 5, 40)) print("The position of Guru99 is at:", mystring.find("Guru99", 20)) Output:
The position of Best site is at: 27 The position of Guru99 is at: -1
Membandingkan dengan rfind()
rfind() mirip dengan find() tetapi mengembalikan indeks tertinggi di mana substring terjadi. Jika substring tidak ada, kedua metode mengembalikan -1.
Contoh:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("Tutorials")) print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials")) Output:
The position of Tutorials using find() : 12 The position of Tutorials using rfind() : 48
Membandingkan dengan index()
Metode index() berperilaku seperti find() tetapi melemparkan ValueError ketika substring hilang.
Contoh:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("Tutorials")) print("The position of Tutorials using index() : ", mystring.index("Tutorials")) Output:
The position of Tutorials using find() : 12 The position of Tutorials using index() : 12
Ketika substring tidak ditemukan:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("test")) print("The position of Tutorials using index() : ", mystring.index("test")) Output:
The position of Tutorials using find() : -1 Traceback (most recent call last): File "task1.py", line 3, in <module> print("The position of Tutorials using index() : ", mystring.index("test")) ValueError: substring not found Menghitung Kemunculan Substring
Untuk menghitung berapa kali substring muncul, ulangi melalui string dan panggil find() berulang kali dengan indeks awal yang diperbarui.
Contoh:
my_string = "test string test, test string testing, test string test string" startIndex = 0 count = 0 for _ in range(len(my_string)): k = my_string.find('test', startIndex) if k != -1: startIndex = k + 1 count += 1 print("The total count of substring test is:", count) Output:
The total count of substring test is: 6
Kesimpulan
find() mengembalikan indeks cocok pertama atau -1 jika tidak ada. - Parameter:
substring, opsional start (default 0), opsional end (default panjang string). - Gunakan
start untuk memulai pencarian pada posisi tertentu. - Gunakan
start dan end untuk membatasi pencarian ke irisan substring. rfind() mengembalikan indeks cocok terakhir. index() lebih ketat, melemparkan kesalahan ketika substring hilang. - Looping dengan
find() dapat menghitung total kemunculan.