Bagaimanakah saya boleh memisahkan rentetan dengan ruang sambil mengekalkan subrentetan yang dipetik dalam Python?

DDD
Lepaskan: 2024-11-06 08:58:02
asal
961 orang telah melayarinya

How can I split a string by spaces while preserving quoted substrings in Python?

Memisahkan Rentetan dengan Ruang Semasa Memelihara Subrentetan Dipetik dalam Python

Apabila bekerja dengan rentetan yang mengandungi kedua-dua ruang dan petikan, ia boleh mencabar untuk memisahkan mereka tanpa kehilangan integriti subrentetan yang dipetik. Dalam Python, anda mungkin pada mulanya mempertimbangkan untuk menggunakan kaedah string.split() standard, tetapi ia akan memisahkan rentetan pada setiap ruang, tanpa mengira petikan.

Untuk menangani isu ini, Python menyediakan penyelesaian yang mudah melalui shlexnya modul, khususnya, fungsi split(). Fungsi split() membolehkan anda membahagi rentetan berdasarkan ruang sambil mengabaikan rentetan dalam segmen yang dipetik.

Pertimbangkan rentetan contoh: "ini ialah "ujian"." Untuk memisahkannya menggunakan shlex.split(), cuma panggilnya dengan rentetan sebagai hujah:

<code class="python">import shlex
shlex.split('this is "a test"')</code>
Salin selepas log masuk

Hasilnya ialah senarai tiga elemen: ['this', 'is', 'a ujian']. Subrentetan yang dipetik dikekalkan sebagai satu elemen.

Anda boleh memperibadikan lagi gelagat shlex.split() dengan menghantar argumen kata kunci posix=False. Ini akan menghalangnya daripada mengalih keluar tanda petikan di sekeliling subrentetan:

<code class="python">shlex.split('this is "a test"', posix=False)</code>
Salin selepas log masuk

Dalam kes ini, hasilnya ialah: ['this', 'is', '"a test"'].

Atas ialah kandungan terperinci Bagaimanakah saya boleh memisahkan rentetan dengan ruang sambil mengekalkan subrentetan yang 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!