Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Kejadian Ke-N String dalam Python?
Mencari Kejadian Nth String dalam Python
Mengenal pasti indeks kejadian n' substring dalam rentetan ialah tugas biasa dalam pengaturcaraan. Walau bagaimanapun, kaedah carian terbina dalam Python tidak menyediakan cara yang mudah untuk menentukan nombor kejadian.
Penyelesaian:
Daripada bergantung pada kaedah carian secara langsung, berikut ialah penyelesaian Pythonic yang secara berulang mengesan subrentetan dan menambah bilangan kejadian sehingga mencapai nilai yang dikehendaki:
<code class="python">def find_nth(haystack: str, needle: str, n: int) -> int: """Find the index of the nth occurrence of needle in haystack.""" start = haystack.find(needle) while start >= 0 and n > 1: start = haystack.find(needle, start+len(needle)) n -= 1 return start</code>
Penggunaan:
Untuk mencari indeks bagi kejadian kedua subrentetan "foofoo" dalam rentetan "foofoofoofoo", anda akan memanggil:
<code class="python">find_nth("foofoofoofoo", "foofoo", 2)</code>
Ini akan mengembalikan indeks 6, sepadan dengan kedudukan permulaan subrentetan "foofoo" kedua.
Pertimbangan untuk Kejadian Bertindih:
Jika anda perlu mencari indeks kejadian bertindih ke-n bagi subrentetan, anda boleh mengubah suai fungsi find_nth untuk menambah kedudukan permulaan dengan 1 bukannya panjang jarum:
<code class="python">def find_nth_overlapping(haystack, needle, n): """Find the index of the nth overlapping occurrence of needle in haystack.""" start = haystack.find(needle) while start >= 0 and n > 1: start = haystack.find(needle, start+1) n -= 1 return start</code>
Atas ialah kandungan terperinci Bagaimana untuk Mencari Kejadian Ke-N String dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!