Python

Cara Memisahkan Rentetan di Python

Cara Memisahkan Rentetan di Python
Artikel ini akan menerangkan cara memisahkan rentetan dalam python menggunakan kaedah “split ()” dan “partition ()”. Kaedah-kaedah ini sangat berguna jika anda ingin menukar ayat atau sekumpulan kata menjadi jenis Python yang dapat dihuraikan dan boleh diulang-ulang. Semua sampel kod dalam panduan ini diuji dengan Python versi 3.8.6.

Kaedah Pembelahan

Kaedah "split ()" dapat digunakan untuk membagi kata menggunakan pemisah yang ditentukan pengguna. Ia mengembalikan senarai kata terpecah tanpa memasukkan pemisah. Sekiranya tiada pemisah ditentukan oleh pengguna, ruang kosong (satu atau lebih) digunakan sebagai pemisah tunggal.

Sebagai contoh, kod di bawah ini akan mengembalikan "['Linux', 'Petunjuk']" sebagai output:

teks = "Petunjuk Linux"
teks.berpecah ()

Kod di bawah akan mengembalikan "['LinuxHint', 'com']" sebagai output apabila "."Digunakan sebagai pemisah:

teks = "LinuxHint.com "
teks.berpecah (“.")

Pemisah tidak harus terdiri daripada satu watak. Kaedah split mengambil dua hujah:

Kedua-dua hujah ini adalah pilihan. Seperti disebutkan di atas, jika argumen "sep" tidak ditentukan, spasi digunakan sebagai pemisah untuk pemisahan. Argumen "maxsplit" mempunyai nilai lalai "-1" dan membelah semua kejadian secara lalai. Pertimbangkan kod di bawah:

teks = "LinuxHint.rakan sekerja.kami "
teks.berpecah (“.")

Ia akan mengembalikan "['LinuxHint', 'co', 'us']" sebagai output. Sekiranya anda ingin berhenti membelah pada kejadian pertama pemisah, tentukan "1" sebagai argumen "maxsplit".

teks = "LinuxHint.rakan sekerja.kami "
teks.berpecah (“.", 1)

Kod di atas akan mengembalikan "['LinuxHint', 'co.kami '] "sebagai output. Cukup nyatakan bilangan kejadian di mana anda mahu proses perpecahan dihentikan sebagai argumen kedua.

Perhatikan bahawa jika ada pemisah berturut-turut, tali kosong akan dikembalikan untuk pemisah yang tinggal setelah pemisahan pertama (apabila argumen "maxsplit" tidak digunakan):

teks = "LinuxHint ... com"
teks.berpecah (".")

Kod di atas akan mengembalikan "['LinuxHint',", 'com'] "sebagai output. Sekiranya anda ingin mengeluarkan rentetan kosong dari senarai yang dihasilkan, anda boleh menggunakan pernyataan pemahaman senarai berikut:

teks = "LinuxHint ... com"
hasil = teks.berpecah (".")
hasil = [item untuk item dalam hasil jika item != ""]
cetak (hasil)

Anda akan mendapat "['LinuxHint', 'com']" sebagai output setelah menjalankan contoh kod di atas.

Perhatikan bahawa kaedah "split ()" bergerak dari kiri ke kanan untuk membelah rentetan menjadi perkataan. Jika anda ingin memisahkan rentetan dari arah kanan ke kiri, gunakan "rsplit ()" sebagai gantinya. Sintaks, penggunaan dan argumennya sama dengan kaedah "split ()".

Sekiranya tidak ada pemisah dalam tali semasa menggunakan kaedah "split ()" atau "rsplit ()", rentetan asal dikembalikan sebagai elemen daftar tunggal.

Kaedah Pembahagian

Kaedah "partition ()" dapat digunakan untuk membelah string dan berfungsi sama dengan kaedah "split ()" dengan beberapa perbezaan. Perbezaan yang paling ketara ialah ia mengekalkan pemisah dan memasukkannya sebagai item dalam tuple yang dihasilkan yang mengandungi kata-kata terbelah. Ini amat berguna jika anda ingin membahagikan rentetan ke dalam objek yang dapat diulang-ulang (tuple dalam kes ini) tanpa membuang watak asalnya. Pertimbangkan kod di bawah:

teks = "LinuxHint.com "
hasil = teks.partition (".")
cetak (hasil)

Contoh kod di atas akan kembali "('LinuxHint', '.',' com ') "sebagai output. Sekiranya anda mahukan hasilnya dari jenis senarai, gunakan contoh kod berikut:

teks = "LinuxHint.com "
hasil = senarai (teks.partition ("."))
cetak (hasil)

Anda harus mendapatkan "['LinuxHint', '.',' com '] "sebagai output setelah menjalankan contoh kod di atas.

Kaedah "partition ()" hanya mengambil satu argumen yang disebut "sep". Pengguna boleh menentukan pemisah dengan panjang apa pun. Tidak seperti kaedah "split ()", argumen ini adalah wajib, jadi anda tidak boleh menghilangkan pemisah. Walau bagaimanapun, anda boleh menentukan ruang kosong sebagai pemisah.

Perhatikan bahawa kaedah partition berhenti pada kejadian pertama pemisah. Oleh itu, jika rentetan anda mengandungi beberapa pemisah, kaedah "partition ()" akan mengabaikan semua kejadian lain. Berikut adalah contoh yang menggambarkan ini:

teks = "LinuxHint.rakan sekerja.kami "
hasil = senarai (teks.partition ("."))
cetak (hasil)

Sampel kod akan menghasilkan "['LinuxHint', '.',' rakan.kami '] "sebagai output. Sekiranya anda ingin berpisah pada semua kejadian pemisah dan memasukkan pemisah dalam daftar akhir juga, anda mungkin harus menggunakan corak "Ekspresi Biasa" atau "RegEx". Untuk contoh yang disebutkan di atas, anda boleh menggunakan corak RegEx dengan cara berikut:

import semula
teks = "LinuxHint.rakan sekerja.kami "
hasil = semula.berpecah ("(\.) ", teks)
cetak (hasil)

Anda akan mendapat "['LinuxHint', '.',' co ','.',' kami '] "sebagai output setelah melaksanakan contoh kod di atas. Watak titik telah dilarikan dalam pernyataan RegEx yang disebutkan di atas. Perhatikan bahawa walaupun contoh di atas berfungsi dengan watak titik tunggal, ia mungkin tidak berfungsi dengan pemisah kompleks dan rentetan kompleks. Anda mungkin harus menentukan corak RegEx anda sendiri bergantung pada kes penggunaan anda. Contohnya hanya disebutkan di sini untuk memberi anda idea mengenai proses mengekalkan pemisah dalam senarai akhir menggunakan pernyataan RegEx.

Kaedah "partition () kadang-kadang boleh meninggalkan rentetan kosong, terutamanya apabila pemisah tidak dijumpai dalam rentetan untuk dibelah. Dalam kes sedemikian, anda dapat menggunakan pernyataan pemahaman daftar untuk menghilangkan rentetan kosong, seperti yang dijelaskan dalam bahagian kaedah “split ()” di atas.

teks = "LinuxHint"
hasil = senarai (teks.partition ("."))
hasil = [item untuk item dalam hasil jika item != ""]
cetak (hasil)

Setelah menjalankan kod di atas, anda harus mendapatkan "['LinuxHint']" sebagai output.

Kesimpulannya

Untuk pemisahan yang sederhana dan mudah, anda boleh menggunakan kaedah "split ()" dan "partition ()" untuk mendapatkan jenis berulang. Untuk rentetan dan pemisah yang kompleks, anda perlu menggunakan pernyataan RegEx.

Cara Menggunakan Xdotool untuk Merangsang Klik dan Penekanan Tetikus di Linux
Xdotool adalah alat baris arahan sumber terbuka dan bebas untuk mensimulasikan klik dan tekan kekunci tetikus. Artikel ini akan merangkumi panduan rin...
5 Produk Tetikus Komputer Ergonomik Teratas untuk Linux
Adakah penggunaan komputer yang berpanjangan menyebabkan rasa sakit di pergelangan tangan atau jari anda? Adakah anda mengalami sendi kaku dan selalu ...
Cara Mengubah Tetapan Tetikus dan Pad Sentuh Menggunakan Xinput di Linux
Sebilangan besar pengedaran Linux dihantar dengan perpustakaan "libinput" secara lalai untuk menangani peristiwa input pada sistem. Ia dapat memproses...