Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Memisahkan Rentetan dengan Ruang Semasa Memelihara Subrentetan Dipetik dalam Python?

Bagaimana untuk Memisahkan Rentetan dengan Ruang Semasa Memelihara Subrentetan Dipetik dalam Python?

Susan Sarandon
Lepaskan: 2024-11-05 00:46:02
asal
1016 orang telah melayarinya

How to Split Strings by Spaces While Preserving Quoted Substrings in Python?

Memisahkan Rentetan dengan Ruang Semasa Memelihara Subrentetan Dipetik dalam Python

Apabila memproses rentetan yang mengandungi kedua-dua ruang dan subrentetan petikan, ia boleh mencabar untuk belah rentetan dengan tepat sambil mengekalkan integriti bahagian yang dipetik. Dalam Python, modul shlex menyediakan penyelesaian untuk senario khusus ini.

Menggunakan shlex.split() untuk Mengekalkan Petikan

Fungsi shlex.split() membolehkan anda untuk membelah rentetan dengan ruang sambil merawat subrentetan yang disebut sebagai satu unit. Ini bermakna ruang dalam subrentetan yang dipetik akan diabaikan dan teks yang dipetik akan disimpan sebagai satu elemen dalam senarai yang terhasil.

Contoh Penggunaan:

Pertimbangkan rentetan berikut:

this is "a test"
Salin selepas log masuk

Untuk memisahkan rentetan ini menggunakan shlex.split(), hanya import modul dan gunakan kod berikut:

import shlex
result = shlex.split('this is "a test"')
Salin selepas log masuk

Pembolehubah hasil akan mengandungi senarai berikut :

['this', 'is', 'a test']
Salin selepas log masuk

Ruang dalam subrentetan yang dipetik ("ujian") telah diabaikan dan teks yang dipetik telah dipelihara sebagai satu elemen.

Memelihara Tanda Petikan

Jika anda juga ingin mengekalkan tanda petikan itu sendiri dalam senarai terhasil anda, anda boleh menghantar argumen kata kunci posix=False kepada shlex.split().

Untuk contoh:

result = shlex.split('this is "a test"', posix=False)
Salin selepas log masuk

Ini akan menghasilkan senarai berikut:

['this', 'is', '"a test"']
Salin selepas log masuk

Tanda petikan kini telah dikekalkan sebagai sebahagian daripada output.

Dalam kesimpulannya, fungsi shlex.split() dalam Python menawarkan cara yang mudah dan cekap untuk memisahkan rentetan mengikut ruang sambil mengekalkan integriti subrentetan yang dipetik. Dengan menggunakan argumen posix=False keyword, anda juga boleh mengekalkan tanda petikan dalam senarai terhasil anda.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan dengan Ruang Semasa Memelihara Subrentetan Dipetik dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan