Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekstrak Substrings yang Dilampirkan oleh Penanda dalam Python?

Bagaimana untuk Mengekstrak Substrings yang Dilampirkan oleh Penanda dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-05 16:36:16174semak imbas

How to Extract Substrings Enclosed by Markers in Python?

Mengekstrak Subrentetan yang Dikurung oleh Penanda dalam Python

Dalam banyak senario pengaturcaraan, adalah perlu untuk mengekstrak bahagian tertentu rentetan berdasarkan penanda atau pembatas yang telah ditetapkan. Mari kita pertimbangkan contoh di mana kita ingin mendapatkan semula subrentetan '1234' daripada rentetan 'gfgfdAAA1234ZZZuijjk'.

Untuk menangani keperluan ini dengan berkesan, import modul 'semula', yang menyediakan keupayaan ekspresi biasa yang berkuasa dalam Python. Berikut ialah langkah-langkah yang terlibat:

  1. Tentukan corak ungkapan biasa menggunakan fungsi 're.search':

    m = re.search('AAA(.+?)ZZZ', text)
    • 'AAA' dan 'ZZZ ' mewakili penanda yang melampirkan subrentetan yang dikehendaki.
    • '. ?' sepadan dengan mana-mana urutan aksara yang tidak tamak antara penanda.
  2. Semak sama ada corak sepadan dalam teks yang diberikan:

    if m:
        found = m.group(1)
    • Jika corak padan dengan jayanya, 'm' akan menjadi objek Padanan.
    • Gunakan 'm.group(1)' untuk ekstrak subrentetan yang ditangkap yang disertakan di antara penanda.

Sebagai alternatif, anda boleh memudahkan kod menggunakan blok try-except:

try:
    found = re.search('AAA(.+?)ZZZ', text).group(1)
except AttributeError:
    # Handle the case when markers are not present in the string
    found = ''

Dalam kedua-dua kes , hasilnya akan diberikan kepada pembolehubah 'ditemui', yang akan mengandungi subrentetan '1234'.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Substrings yang Dilampirkan oleh Penanda dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn