Menyemak Substring dalam Python: Alternatif untuk 'mengandungi' dan 'indexOf'

Menyemak Substring dalam Python: Alternatif untuk 'mengandungi' dan 'indexOf'
Python

Memahami Kaedah Rentetan dalam Python

Pengaturcara Python selalunya perlu menyemak sama ada subrentetan wujud dalam rentetan. Walaupun banyak bahasa menawarkan kaedah seperti `mengandungi` atau `indexOf`, Python mempunyai cara tersendiri untuk mengendalikan keperluan biasa ini. Dalam artikel ini, kami akan meneroka cara anda boleh melakukan semakan subrentetan dalam Python dengan cekap.

Sama ada anda baru menggunakan Python atau beralih daripada bahasa pengaturcaraan lain, memahami kaedah ini adalah penting. Kami akan memberikan contoh dan menerangkan amalan terbaik untuk menyemak subrentetan, memastikan anda boleh menulis kod Python yang bersih dan berkesan.

Perintah Penerangan
in Menyemak sama ada subrentetan wujud dalam rentetan utama, mengembalikan True atau False.
find Mengembalikan indeks terendah dalam rentetan tempat subrentetan ditemui; mengembalikan -1 jika tidak dijumpai.
def Mentakrifkan blok fungsi kod yang hanya berjalan apabila ia dipanggil.
for Digunakan untuk menggelung pada jujukan (seperti senarai, tuple, kamus, set atau rentetan).
if not Pernyataan bersyarat yang melaksanakan kod jika syarat adalah Palsu.
continue Melangkau baki kod di dalam gelung untuk lelaran semasa sahaja, kemudian meneruskan dengan lelaran seterusnya.

Memahami Pemeriksaan Substring dalam Python

Skrip yang disediakan menunjukkan cara menyemak subrentetan dalam Python menggunakan dua kaedah berbeza: the in kata kunci dan find kaedah. Skrip pertama mentakrifkan fungsi, contains_substring, yang memerlukan dua hujah: main_string dan substring. Ia kembali True jika substring wujud dalam main_string dan False sebaliknya. Ini dicapai menggunakan in kata kunci, yang merupakan cara yang mudah dan cekap untuk melakukan semakan subrentetan dalam Python. Skrip itu kemudiannya berulang pada senarai rentetan menggunakan a for gelung, dan jika substring tidak ditemui dalam rentetan semasa, ia menggunakan continue pernyataan untuk melangkau ke lelaran seterusnya.

Skrip kedua menggunakan pendekatan yang sama tetapi memanfaatkan find kaedah sebaliknya. Fungsinya contains_substring_with_find menyemak jika substring terdapat dalam main_string dengan kembali True jika find kaedah tidak kembali -1. The find kaedah mencari substring dan mengembalikan indeks terendah di mana ia ditemui, atau -1 jika ia tidak dijumpai. Kaedah ini memberikan lebih kawalan jika anda memerlukan kedudukan substring, tetapi untuk semakan mudah, yang in kata kunci adalah lebih mudah. Kedua-dua skrip menggambarkan cara memeriksa subrentetan dengan cekap dan mengendalikan kes di mana subrentetan tidak ditemui, membenarkan kod Python yang bersih dan boleh dibaca.

Bagaimana untuk menyemak subrentetan dalam Python

Contoh Skrip Python Menggunakan Kata Kunci 'dalam'

def contains_substring(main_string, substring):
    return substring in main_string

strings_to_check = ["hello world", "Python programming", "substring search"]
substring = "Python"

for string in strings_to_check:
    if not contains_substring(string, substring):
        continue
    print(f"'{substring}' found in '{string}'")

Mencari Substrings Menggunakan Kaedah 'find' Python

Contoh Skrip Python Menggunakan Kaedah 'cari'

def contains_substring_with_find(main_string, substring):
    return main_string.find(substring) != -1

strings_to_check = ["example string", "testing find method", "no match here"]
substring = "find"

for string in strings_to_check:
    if not contains_substring_with_find(string, substring):
        continue
    print(f"'{substring}' found in '{string}'")

Meneroka Kaedah Rentetan Alternatif dalam Python

Sebagai tambahan kepada in kata kunci dan find kaedah, Python menawarkan kaedah rentetan lain yang boleh berguna untuk menyemak subrentetan. Salah satu kaedah tersebut ialah count, yang mengembalikan bilangan kejadian tidak bertindih subrentetan dalam rentetan. Walaupun ia bukan pengganti langsung untuk contains atau indexOf, ia boleh digunakan untuk menentukan sama ada subrentetan wujud dengan menyemak sama ada kiraan lebih besar daripada sifar. Kaedah lain ialah startswith, yang menyemak sama ada rentetan bermula dengan subrentetan tertentu. Kaedah ini amat berguna apabila anda perlu mengesahkan awalan dalam rentetan, seperti menyemak sama ada URL bermula dengan 'http'.

Begitu juga dengan endswith kaedah menyemak sama ada rentetan berakhir dengan subrentetan tertentu. Ini berguna untuk mengesahkan sambungan fail atau akhiran lain. Python juga menyediakan re modul untuk carian subrentetan yang lebih maju menggunakan ungkapan biasa. The re.search fungsi membolehkan padanan corak dalam rentetan, menyediakan cara yang berkuasa untuk mencari subrentetan yang kompleks. Walaupun ungkapan biasa boleh menjadi lebih kompleks untuk ditulis dan difahami, ia menawarkan fleksibiliti dan kuasa untuk carian subrentetan yang rumit. Kaedah alternatif ini menyediakan pengaturcara Python dengan pelbagai alat untuk mengendalikan semakan subrentetan, memenuhi keperluan dan kes penggunaan yang berbeza.

Soalan Lazim Mengenai Kaedah Substring dalam Python

  1. Bagaimanakah saya boleh menyemak sama ada rentetan mengandungi subrentetan dalam Python?
  2. Anda boleh menggunakan in kata kunci atau find kaedah untuk menyemak sama ada rentetan mengandungi subrentetan.
  3. Apakah perbezaan antara find dan index kaedah?
  4. The find kaedah mengembalikan -1 jika subrentetan tidak dijumpai, manakala kaedah index kaedah menimbulkan ValueError.
  5. Bolehkah saya menggunakan ungkapan biasa untuk semakan substring dalam Python?
  6. Ya, anda boleh menggunakan re.search fungsi daripada re modul untuk carian subrentetan lanjutan.
  7. Bagaimanakah saya boleh menyemak sama ada rentetan bermula dengan subrentetan tertentu?
  8. Anda boleh menggunakan startswith kaedah untuk menyemak sama ada rentetan bermula dengan subrentetan tertentu.
  9. Apakah kaedah yang boleh saya gunakan untuk menyemak sama ada rentetan berakhir dengan subrentetan tertentu?
  10. The endswith kaedah boleh digunakan untuk menyemak sama ada rentetan berakhir dengan subrentetan tertentu.
  11. Adakah terdapat kaedah untuk mengira kejadian subrentetan dalam rentetan?
  12. Ya, yang count kaedah mengembalikan bilangan kejadian tidak bertindih subrentetan dalam rentetan.
  13. Bagaimanakah saya boleh mengendalikan kes di mana subrentetan tidak dijumpai?
  14. Anda boleh menggunakan satu if kenyataan dengan not atau semak jika find mengembalikan -1 untuk mengendalikan kes di mana subrentetan tidak ditemui.
  15. Adakah terdapat perbezaan prestasi antara kaedah ini?
  16. Ya, kaedah seperti in dan startswith biasanya lebih pantas untuk semakan mudah, manakala ungkapan biasa boleh menjadi lebih perlahan tetapi lebih berkuasa.

Pemikiran Akhir tentang Kaedah Substring dalam Python

Python tidak mempunyai a contains atau indexOf kaedah seperti beberapa bahasa lain. Walau bagaimanapun, ia menyediakan pelbagai cara untuk menyemak subrentetan, seperti in kata kunci, the find kaedah, dan ungkapan biasa. Setiap kaedah mempunyai kelebihannya, menjadikannya penting untuk memilih yang betul berdasarkan keperluan khusus anda. Dengan menguasai teknik ini, anda boleh mengendalikan semakan subrentetan dengan cekap dan menulis kod Python yang bersih dan berkesan.