cari
Rumahpembangunan bahagian belakangTutorial PythonDalam Python, bagaimana untuk memisahkan rentetan yang mengandungi berbilang pembatas?

Untuk memisahkan rentetan menggunakan berbilang pembatas:

Gunakan kaedah re.split(), contohnya re.split(r',|-', my_str). Kaedah

re.split() akan memisahkan rentetan pada semua kejadian salah satu pembatas. Kaedah

import re
# ????️ 用 2 个分隔符拆分字符串
my_str = 'fql,jiyik-dot,com'
my_list = re.split(r',|-', my_str)  # ????️ 以逗号或连字符分隔
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']

re.split menerima corak dan rentetan dan membelah rentetan setiap kali corak itu berlaku.

Watak paip |. Padanan A atau B.

Contoh ini membelah rentetan menggunakan 2 pembatas (koma dan sempang).

# ????️ 用 3 个分隔符拆分字符串
my_str = 'fql,jiyik-dot:com'
my_list = re.split(r',|-|:', my_str)  # ????️ comma, hyphen or colon
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']

Berikut ialah contoh membelah rentetan menggunakan 3 pembatas (koma, sempang dan bertindih).

Kita boleh menggunakan seberapa banyak | aksara yang diperlukan dalam ungkapan biasa.

Gunakan kurungan segi empat sama [] untuk membelah rentetan berdasarkan berbilang pembatas

Sebagai alternatif, kita boleh menggunakan kurungan segi empat sama [] untuk menunjukkan sekumpulan aksara.

import re
my_str = 'fql,jiyik-dot,com'
my_list = re.split(r'[,-]', my_str)
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']

Dalam Python, bagaimana untuk memisahkan rentetan yang mengandungi berbilang pembatas?

Pastikan anda menambah semua pemisah antara kurungan segi empat sama.

import re
# ????️ 用 3 个分隔符拆分字符串
my_str = 'fql,jiyik-dot:com'
my_list = re.split(r'[,-:]', my_str) # 以逗号、连字符、冒号分割
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']

Jika rentetan bermula atau berakhir dengan salah satu pembatas ini, kita mungkin mendapat nilai rentetan kosong dalam senarai output.

Mengendalikan pembatas di hadapan atau di belakang

Kami boleh menggunakan pemahaman senarai untuk mengalih keluar sebarang rentetan kosong daripada senarai.

import re

# ????️ 用 3 个分隔符拆分字符串
my_str = ',fql,jiyik-dot:com:'

my_list = [
    item for item in re.split(r'[,-:]', my_str)
    if item
]

print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']

Pemahaman senarai bertanggungjawab untuk mengalih keluar rentetan kosong daripada senarai.

Kefahaman senarai digunakan untuk melaksanakan operasi tertentu pada setiap elemen atau untuk memilih subset elemen yang memenuhi syarat.

Cara lain ialah menggunakan kaedah str.replace().

Pisah rentetan dengan berbilang pembatas menggunakan str.replace()

Untuk membelah rentetan dengan berbilang pembatas:

  • Ganti pembatas pertama dengan pembatas kedua menggunakan kaedah str.replace().

  • Pisah rentetan dengan pembatas kedua menggunakan kaedah str.split().

my_str = 'fql_jiyik!dot_com'
my_list = my_str.replace('_', '!').split('!')
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']

Kaedah ini hanya sesuai apabila terdapat beberapa pembatas yang anda ingin belah, seperti 2.

Pertama, kami Gantikan setiap kejadian daripada pembatas pertama dengan pembatas kedua, dan kemudian kita pecahkan pembatas kedua. Kaedah

str.replace mengembalikan salinan rentetan dengan semua kejadian subrentetan digantikan dengan penggantian yang disediakan.

Kaedah ini mengambil parameter berikut:

  • lama Subrentetan yang ingin kami gantikan dalam rentetan

  • baharu Gantikan setiap kejadian lama

  • kira Gantikan hanya kejadian pertama kiraan (pilihan)

Sila ambil perhatian bahawa kaedah ini tidak mengubah rentetan asal. Rentetan tidak boleh diubah dalam Python.

Ini satu lagi contoh.

my_str = 'fql jiyik, dot # com. abc'

my_list = my_str.replace(
    ',', '').replace(
    '#', '').replace('.', '').split()

print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com', 'abc']

Kami menggunakan kaedah str.replace() untuk mengalih keluar tanda baca sebelum membelah rentetan pada aksara ruang putih.

Kami menggunakan rentetan kosong untuk penggantian kerana kami ingin mengalih keluar aksara yang ditentukan.

Kami boleh merantai seberapa banyak panggilan ke kaedah str.replace() mengikut keperluan.

Langkah terakhir ialah membelah rentetan kepada senarai perkataan menggunakan kaedah str.split(). Kaedah

str.split() membahagikan rentetan kepada senarai subrentetan menggunakan pembatas.

Kaedah ini mengambil 2 parameter berikut:

  • pemisah Pisahkan rentetan kepada subrentetan setiap kali pemisah muncul

  • my_str = 'fql jiyik com'
    print(my_str.split())  # ????️ ['fql', 'jiyik', 'com']

    Jika pembatas tidak ditemui dalam rentetan, mengembalikan senarai yang mengandungi hanya 1 elemen. Pisah rentetan berdasarkan berbilang pembatas menggunakan fungsi boleh guna semula

    Jika kita perlu kerap membelah rentetan berdasarkan berbilang pembatas, tentukan fungsi boleh guna semula. Fungsi
import re

def split_multiple(string, delimiters):
    pattern = '|'.join(map(re.escape, delimiters))

    return re.split(pattern, string)

my_str = 'fql,jiyik-dot:com'

print(split_multiple(my_str, [',', '-', ':']))

str.split() menerima rentetan dan senarai pembatas dan membahagi rentetan berdasarkan pembatas. Kaedah

digunakan untuk menyambungkan pembatas dengan paip

. Pembahagi.

# ????️ ,|-|:
print('|'.join([',', '-', ':']))

Ini akan mencipta corak ungkapan biasa yang boleh kita gunakan untuk memisahkan rentetan berdasarkan pembatas yang ditentukan.

Jika kita perlu membahagikan rentetan kepada senarai perkataan dengan berbilang pembatas, kita juga boleh menggunakan kaedah split_multiple.

Pisah rentetan kepada senarai perkataan menggunakan re.findall() str.join()|Gunakan kaedah

untuk memisahkan rentetan kepada senarai perkataan dengan berbilang pembatas. Kaedah

akan membelah rentetan setiap kali perkataan berlaku dan mengembalikan senarai yang mengandungi perkataan itu. Kaedah re.findall()

import re

# ✅ 将字符串拆分为具有多个分隔符的单词列表
my_str = 'fql jiyik, dot # com. abc'

my_list = re.findall(r'[\w]+', my_str)
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com', 'abc']

mengambil corak dan rentetan sebagai parameter dan mengembalikan senarai rentetan yang mengandungi semua kejadian tidak bertindih bagi corak dalam rentetan.

我们传递给 re.findall() 方法的第一个参数是一个正则表达式。

import re

my_str = 'fql jiyik, dot # com. abc'

my_list = re.findall(r'[\w]+', my_str)
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com', 'abc']

方括号 [] 用于表示一组字符。

\w 字符与 Unicode 单词字符匹配,并且包括可以作为任何语言的单词一部分的大多数字符。

加号 + 使正则表达式匹配前面字符(Unicode 字符)的 1 次或多次重复。

re.findall() 方法返回一个包含字符串中单词的列表。

Atas ialah kandungan terperinci Dalam Python, bagaimana untuk memisahkan rentetan yang mengandungi berbilang pembatas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Tujuan utama python: fleksibiliti dan kemudahan penggunaanTujuan utama python: fleksibiliti dan kemudahan penggunaanApr 17, 2025 am 12:14 AM

Fleksibiliti Python dicerminkan dalam sokongan multi-paradigma dan sistem jenis dinamik, sementara kemudahan penggunaan berasal dari sintaks mudah dan perpustakaan standard yang kaya. 1. Fleksibiliti: Menyokong pengaturcaraan berorientasikan objek, fungsional dan prosedur, dan sistem jenis dinamik meningkatkan kecekapan pembangunan. 2. Kemudahan Penggunaan: Tatabahasa adalah dekat dengan bahasa semulajadi, perpustakaan standard merangkumi pelbagai fungsi, dan memudahkan proses pembangunan.

Python: Kekuatan pengaturcaraan serba bolehPython: Kekuatan pengaturcaraan serba bolehApr 17, 2025 am 12:09 AM

Python sangat disukai kerana kesederhanaan dan kuasa, sesuai untuk semua keperluan dari pemula hingga pemaju canggih. Kepelbagaiannya dicerminkan dalam: 1) mudah dipelajari dan digunakan, sintaks mudah; 2) perpustakaan dan kerangka yang kaya, seperti numpy, panda, dan sebagainya; 3) sokongan silang platform, yang boleh dijalankan pada pelbagai sistem operasi; 4) Sesuai untuk tugas skrip dan automasi untuk meningkatkan kecekapan kerja.

Belajar python dalam 2 jam sehari: panduan praktikalBelajar python dalam 2 jam sehari: panduan praktikalApr 17, 2025 am 12:05 AM

Ya, pelajari Python dalam masa dua jam sehari. 1. Membangunkan pelan kajian yang munasabah, 2. Pilih sumber pembelajaran yang betul, 3 menyatukan pengetahuan yang dipelajari melalui amalan. Langkah -langkah ini dapat membantu anda menguasai Python dalam masa yang singkat.

Python vs C: Pro and Cons untuk PemajuPython vs C: Pro and Cons untuk PemajuApr 17, 2025 am 12:04 AM

Python sesuai untuk pembangunan pesat dan pemprosesan data, manakala C sesuai untuk prestasi tinggi dan kawalan asas. 1) Python mudah digunakan, dengan sintaks ringkas, dan sesuai untuk sains data dan pembangunan web. 2) C mempunyai prestasi tinggi dan kawalan yang tepat, dan sering digunakan dalam pengaturcaraan permainan dan sistem.

Python: komitmen masa dan kadar pembelajaranPython: komitmen masa dan kadar pembelajaranApr 17, 2025 am 12:03 AM

Masa yang diperlukan untuk belajar python berbeza dari orang ke orang, terutamanya dipengaruhi oleh pengalaman pengaturcaraan sebelumnya, motivasi pembelajaran, sumber pembelajaran dan kaedah, dan irama pembelajaran. Tetapkan matlamat pembelajaran yang realistik dan pelajari terbaik melalui projek praktikal.

Python: Automasi, skrip, dan pengurusan tugasPython: Automasi, skrip, dan pengurusan tugasApr 16, 2025 am 12:14 AM

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Python dan Masa: Memanfaatkan masa belajar andaPython dan Masa: Memanfaatkan masa belajar andaApr 14, 2025 am 12:02 AM

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python: Permainan, GUI, dan banyak lagiPython: Permainan, GUI, dan banyak lagiApr 13, 2025 am 12:14 AM

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft