Metode indeks string python () digunakan untuk mengembalikan indeks string input tempat substring ditemukan. Pada dasarnya, ini membantu kita untuk mengetahui apakah substring yang ditentukan ada di string input. Metode ini mengambil substring yang ditemukan sebagai parameter wajib
Ada dua parameter opsional yaitu indeks awal dan indeks akhir yang menentukan rentang tempat substring ditemukan. Jika kedua parameter ini tidak ditentukan, maka fungsi index() bekerja dari indeks ke-0 hingga akhir string. Jika substring tidak ditemukan dalam string input, ini memunculkan ValueError tidak seperti fungsi find()
Pada bagian berikut, kita akan belajar lebih banyak tentang metode ini
Sintaksis
Berikut ini adalah sintaks untuk metode python string index()
str.index(str, beg=0, end=len(string))Parameter
Berikut ini adalah parameter dari metode python string index()
str - Parameter ini menentukan string yang akan dicari
beg - Parameter ini menentukan indeks awal. Nilai default adalah '0'
end − Parameter ini menentukan indeks akhir. Nilai default adalah panjang string
Nilai Pengembalian
Fungsi python string index() mengembalikan indeks jika ditemukan dan sebaliknya memunculkan ValueError
Contoh
Berikut ini adalah contoh metode find() string python. Dalam hal ini kami telah membuat string "Halo. Selamat datang di Tutorialspoint" dan, coba cari kata "to" di dalamnya
str1 = "Hello! Welcome to Tutorialspoint." str2 = "to"; result= str1.index(str2) print("The index where the substring is found:", result) _Saat menjalankan program di atas, output berikut dihasilkan -
Contoh
Spasi juga dihitung sebagai substring. Jika ada lebih dari satu spasi dalam string input, maka ruang pertama yang ditemukan dalam string input dianggap sebagai indeks resultan.
#!/usr/bin/python str1 = "Hello! Welcome to Tutorialspoint." str2 = " "; result= str1.index(str2) print("The index where the substring is found:", result)Berikut ini adalah output yang diperoleh dengan menjalankan program di atas -
The index where the substring is found: 6 _Contoh
Metode python string index() mengembalikan indeks tempat substring ditemukan dalam rentang indeks awal dan akhir yang ditentukan
#!/usr/bin/python str1 = "Hello! Welcome to Tutorialspoint." str2 = " "; result= str1.index(str2, 12, 15) print("The index where the substring is found:", result)Output berikut diperoleh dengan menjalankan program di atas -
The index where the substring is found: 14 _Contoh
Jika substring yang sama muncul lebih dari satu kali dalam string input, maka berdasarkan indeks awal atau akhir yang ditentukan sebagai parameter fungsi, indeks yang dihasilkan diperoleh
Dalam posting ini, Anda akan belajar bagaimana menemukan indeks substring dalam sebuah string, apakah itu substring pertama atau substring terakhir. Anda juga akan mempelajari cara menemukan setiap indeks substring dalam sebuah string
Mengetahui cara bekerja dengan string adalah keterampilan penting dalam perjalanan Python Anda. Anda akan mempelajari cara membuat daftar semua posisi indeks tempat substring tersebut muncul
Jawaban Cepat
Daftar isi
Cara Menggunakan Python untuk Menemukan Indeks Pertama Substring dalam sebuah String
Jika semua yang ingin Anda lakukan adalah indeks pertama dari substring dalam string Python, Anda dapat melakukannya dengan mudah dengan metode str.index(). Metode ini sudah ada di dalam Python, jadi tidak perlu mengimpor paket apa pun
Mari kita lihat bagaimana Anda bisa menggunakan Python untuk menemukan indeks pertama dari sebuah substring dalam sebuah string
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the first index of 'the' index = a_string.index('the') print(index) # Returns: 0Kita dapat melihat di sini bahwa metode .index()_ mengambil parameter dari sub-string yang kita cari. Saat kami menerapkan metode ke string kami a_string, hasilnya mengembalikan 0. Ini berarti bahwa substring dimulai pada posisi indeks 0, dari string kita (mis. e. , itu kata pertama)
Mari kita lihat bagaimana Anda dapat menemukan indeks terakhir dari sebuah substring dalam string Python
Cara Menggunakan Python untuk Menemukan Indeks Terakhir Substring dalam sebuah String
Mungkin sering kali Anda ingin menemukan indeks terakhir dari substring dalam string Python. Untuk melakukannya, kita tidak dapat menggunakan metode string .index(). Namun, Python hadir dengan metode string yang mencari dari kanan ke kiri, artinya ia akan mengembalikan indeks kanan terjauh. Ini adalah metode a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the last index of 'the' index = a_string.rindex('the') print(index) # Returns: 76_0
Mari kita lihat bagaimana kita dapat menggunakan metode a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the last index of 'the' index = a_string.rindex('the') print(index) # Returns: 761 untuk menemukan indeks terakhir dari substring di Python
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the last index of 'the' index = a_string.rindex('the') print(index) # Returns: 76_Dalam contoh di atas, kami menerapkan metode a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the last index of 'the' index = a_string.rindex('the') print(index) # Returns: 76_0 ke string untuk mengembalikan posisi indeks terakhir dari substring kami
Cara Menggunakan Penemu Ekspresi Reguler (Regex) untuk Menemukan Semua Indeks Substring dalam String Python
Contoh di atas keduanya mengembalikan indeks yang berbeda, tetapi keduanya hanya mengembalikan satu indeks. Mungkin ada waktu lain ketika Anda mungkin ingin mengembalikan semua indeks substring dalam string Python
Untuk ini, kami akan menggunakan perpustakaan ekspresi reguler yang populer, a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the last index of 'the' index = a_string.rindex('the') print(index) # Returns: 763. Secara khusus, kami akan menggunakan metode a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the last index of 'the' index = a_string.rindex('the') print(index) # Returns: 76_4, yang membantu Anda menemukan iterasi
Mari kita lihat bagaimana kita dapat menggunakan ekspresi reguler untuk menemukan semua indeks substring dalam string Python
import re a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find all indices of 'the' indices_object = re.finditer(pattern='the', string=a_string) indices = [index.start() for index in indices_object] print(indices) # Returns: [0, 31, 45, 76]Contoh ini memiliki beberapa bagian yang bergerak. Mari uraikan apa yang telah kita lakukan langkah demi langkah
- Kami mengimpor a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the last index of 'the' index = a_string.rindex('the') print(index) # Returns: 76_3 dan mengatur variabel kami a_string seperti sebelumnya
- Kami kemudian menggunakan a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the last index of 'the' index = a_string.rindex('the') print(index) # Returns: 76_7 untuk membuat objek iterable yang berisi semua kecocokan
- Kami kemudian membuat pemahaman daftar untuk menemukan nilai a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find the last index of 'the' index = a_string.rindex('the') print(index) # Returns: 768, yang berarti posisi indeks awal dari setiap pertandingan, di dalam
- Akhirnya, kami mencetak daftar posisi awal indeks kami
Di bagian selanjutnya, Anda akan mempelajari cara menggunakan pemahaman daftar dengan Python untuk menemukan semua indeks substring dalam sebuah string
Cara Menggunakan Pemahaman Daftar Python untuk Menemukan Semua Indeks Substring dalam sebuah String
Mari kita lihat bagaimana Anda dapat menemukan semua indeks substring dalam sebuah string dengan Python tanpa menggunakan pustaka ekspresi reguler. Kami akan melakukannya dengan menggunakan pemahaman daftar
Ingin mempelajari lebih lanjut tentang pemahaman daftar Python?
Mari kita lihat bagaimana kita bisa melakukannya dengan menggunakan pemahaman daftar
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" # Find all indices of 'the' indices = [index for index in range(len(a_string)) if a_string.startswith('the', index)] print(indices) # Returns: [0, 31, 45, 76]Mari kita lihat bagaimana pemahaman daftar ini bekerja
- Kami mengulangi angka dari 0 hingga panjang daftar
- Kami menyertakan posisi indeks nomor itu jika substring yang dibuat dengan memisahkan string kami dari indeks itu dan seterusnya, dimulai dengan huruf kami
- Kami mendapatkan daftar yang dikembalikan dari semua contoh di mana substring itu muncul di string kami
Di bagian terakhir tutorial ini, Anda akan belajar cara membuat fungsi kustom untuk mengembalikan indeks semua substring dalam string Python kita
Lihat beberapa tutorial Python lainnya tentang datagy, termasuk panduan lengkap kami untuk menata gaya Panda dan ikhtisar komprehensif kami tentang Tabel Pivot di Panda
Cara Membangun Fungsi Kustom untuk Menemukan Semua Indeks Substring dalam String dengan Python
Sekarang setelah Anda mempelajari dua metode berbeda untuk mengembalikan semua indeks substring dalam string Python, mari pelajari bagaimana kita dapat mengubahnya menjadi fungsi Python khusus
Mengapa kita ingin melakukan ini? . Di sinilah sebuah fungsi akan berguna, karena memungkinkan pembaca masa depan (yang mungkin, sangat baik, adalah Anda. ) tahu apa yang dilakukan kode Anda
Mari kita mulai
# Create a custom function to return the indices of all substrings in a Python string a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog" def find_indices_of_substring(full_string, sub_string): return [index for index in range(len(full_string)) if full_string.startswith(sub_string, index)] indices = find_indices_of_substring(a_string, 'the') print(indices) # Returns: [0, 31, 45, 76]Dalam contoh fungsi kustom ini, kami menggunakan metode pemahaman daftar kami untuk menemukan indeks semua substring. Alasan untuk ini adalah karena tidak membuat ketergantungan tambahan
Kesimpulan
Dalam posting ini, Anda mempelajari cara menggunakan Python untuk menemukan indeks pertama, indeks terakhir, dan semua indeks substring dalam sebuah string. Anda telah mempelajari cara melakukannya dengan metode string reguler, dengan ekspresi reguler, pemahaman daftar, serta fungsi yang dibuat khusus