Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program Python untuk memisahkan rentetan kepada berbilang subrentetan

Program Python untuk memisahkan rentetan kepada berbilang subrentetan

WBOY
WBOYke hadapan
2023-09-04 19:17:061520semak imbas

Program Python untuk memisahkan rentetan kepada berbilang subrentetan

Dalam Python, kita boleh memisahkan rentetan kepada subrentetan menggunakan kaedah split(). Kaedah split() ialah salah satu kaedah rentetan Python terbina dalam yang membahagi rentetan ke dalam senarai subrentetan berdasarkan pembatas yang ditentukan. Dalam artikel ini, kita akan belajar cara membahagikan rentetan kepada subrentetan dengan bantuan contoh.

Pisah rentetan kepada subrentetan

Kaedah 1: Gunakan kaedah split()

Kaedah

split() ialah kaedah rentetan terbina dalam dalam Python, yang membahagi rentetan kepada senarai subrentetan berdasarkan pembatas yang ditentukan. Pembatas boleh menjadi sebarang aksara atau rentetan yang memisahkan subrentetan. Kaedah split() mengambil satu parameter, pemisah. Jika tiada pembatas ditentukan, ia akan memisahkan rentetan kepada aksara individu.

Contoh: Pisah berdasarkan ruang dan pembatas koma masing-masing

Dalam contoh berikut, kami akan membelah rentetan menggunakan pembatas ruang. Kami menggunakan kaedah split() dan lulus pembatas ruang untuk memisahkan rentetan berdasarkan ruang.

string = "Hello World"
substrings = string.split()
print(substrings)

string1 = "apple,banana,orange"
substrings = string1.split(",")
print(substrings)

Output

['Hello', 'World']
['apple', 'banana', 'orange']

Contoh: Pisahkan menggunakan ungkapan biasa

Dalam contoh di bawah, kami menggunakan fungsi split() daripada modul ungkapan biasa untuk memisahkan rentetan "23-456-7890" kepada tiga subrentetan menggunakan sempang dan pembatas ruang.

import re

string = "123-456-7890"
substrings = re.split("-|\s", string)
print(substrings)

Output

['123', '456', '7890']

Kaedah 2: Gunakan pemahaman senarai

Kefahaman senarai ialah cara ringkas untuk membuat senarai dalam Python. Ia membolehkan anda membuat senarai baharu berdasarkan senarai sedia ada atau objek boleh lelar yang lain, sambil turut menggunakan penapis dan melakukan transformasi pada elemen boleh lelar itu.

tatabahasa

new_list = [expression for item in iterable if condition]

dengan "ungkapan" ialah penjelmaan atau operasi yang akan dilakukan pada setiap elemen yang boleh dilelar, "item" ialah elemen yang sedang diproses, "boleh diulang" ialah sumber elemen dan "keadaan" ialah Penapis pilihan syarat yang menentukan sama ada elemen dimasukkan dalam senarai hasil.

Contoh

Dalam contoh di bawah, kita mulakan dengan rentetan yang dipanggil "ayat", yang mengandungi satu siri perkataan yang dipisahkan oleh ruang. Kami menggunakan kaedah split() untuk memisahkan rentetan kepada senarai perkataan dan kemudian menggunakan pemahaman senarai untuk mencipta senarai baharu yang dipanggil "perkataan" yang mengandungi setiap perkataan daripada rentetan asal.

sentence = "The quick brown fox jumps over the lazy dog"
words = [word for word in sentence.split()]
print(words)

Output

['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']

Kaedah 3: Gunakan kaedah partition()

Kaedah partition() ialah kaedah rentetan terbina dalam dalam Python, yang membahagi rentetan kepada tiga bahagian berdasarkan pembatas yang ditentukan. Ia mengembalikan tuple yang mengandungi bahagian kiri rentetan sebelum pembatas, pembatas itu sendiri dan bahagian kanan rentetan selepas pembatas. Jika pembatas tidak ditemui dalam rentetan, kaedah mengembalikan tuple yang mengandungi rentetan asal, diikuti dengan dua rentetan kosong.

tatabahasa

string.partition(delimiter)

Di sini, string ialah rentetan yang anda mahu belah, dan pembatas ialah pembatas yang anda mahu fungsi partition membelah rentetan itu.

Contoh

Dalam contoh berikut, kami menggunakan kaedah partition() untuk memisahkan rentetan "Hello World!" Tuple yang terhasil mengandungi bahagian kiri "Hello", pembatas "", dan bahagian kanan "World!".

string = "Hello World!"
parts = string.partition(" ")
print(parts)

Output

('Hello', ' ', 'World!')

Kaedah 4: Gunakan fungsi splitlines()

Kaedah

splitlines() ialah kaedah rentetan terbina dalam dalam Python, yang membahagi rentetan kepada senarai baris berdasarkan aksara baris baharu "n". Jika rentetan itu tidak mengandungi sebarang baris baharu, mengembalikan senarai yang mengandungi rentetan asal sebagai satu-satunya elemennya.

tatabahasa

string.splitlines()

Di sini, splitlines() tidak mengambil parameter dan sentiasa memisahkan rentetan berdasarkan baris baharu.

Contoh

Dalam contoh di bawah, kami menggunakan kaedah splitlines() untuk memisahkan rentetan "Barisan 1nLine 2nLine 3" kepada senarai baris. Senarai yang terhasil mengandungi tiga elemen, satu untuk setiap baris dalam rentetan asal.

string = "Line 1\nLine 2\nLine 3"
lines = string.splitlines()
print(lines)

Output

['Line 1', 'Line 2', 'Line 3']

Kaedah 5: Gunakan kaedah re.findall()

Kaedah

re.findall() ialah fungsi dalam modul semula dalam Python yang mencari rentetan untuk semua kejadian corak ungkapan biasa yang ditentukan dan mengembalikan senarai semua padanan. Corak ungkapan biasa boleh mengandungi pelbagai aksara yang mewakili jenis aksara atau jujukan yang berbeza, membenarkan padanan corak kompleks dan pengekstrakan bahagian tertentu rentetan.

tatabahasa

re.findall(regular_expression, string)

Di sini, kaedah re.findall() menggunakan ungkapan biasa untuk mencari kejadian perkataan yang sepadan dalam rentetan, yang juga dihantar ke fungsi findall().

Contoh

Dalam contoh di bawah, kami menggunakan kaedah re.findall() untuk mencari semua kemunculan corak ungkapan biasa bw{5}b dalam rentetan. Corak ini sepadan dengan mana-mana urutan lima aksara perkataan (huruf, nombor atau garis bawah) yang dikelilingi oleh sempadan perkataan (iaitu, permulaan atau akhir perkataan). Kaedah re.findall() mengembalikan senarai semua padanan yang ditemui dalam rentetan.

import re

string = "The quick brown fox jumps over the lazy dog"
matches = re.findall(r"\b\w{5}\b", string)
print(matches)

输出

['quick', 'brown', 'jumps']

结论

在本文中,我们讨论了如何在 Python 中使用 split() 函数、使用列表理解、使用分区方法、使用 splitline 方法以及使用 re.findall() 将字符串拆分为多个子字符串方法。 split() 函数采用分隔符作为参数。然后根据该分隔符分割字符串。 splitline 方法始终根据新行分隔符分割字符串。我们可以使用本文中介绍的任何方法,具体取决于我们想要执行的拆分类型。

Atas ialah kandungan terperinci Program Python untuk memisahkan rentetan kepada berbilang subrentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam