Cara membagi string alfanumerik dengan python

Dalam tutorial ini, kita akan belajar cara membagi string menjadi daftar karakter menggunakan for loop dan kelas List

Contoh 1. Pisahkan String menjadi Daftar Karakter menggunakan For Loop

Dalam contoh ini, kami akan mengambil string dan membaginya menjadi daftar karakter menggunakan for loop

Program Piton

def getCharList(str):
	return [char for char in str]
	
str = 'pythonexamples'

print(getCharList(str))
Jalankan

Keluaran

['p', 'y', 't', 'h', 'o', 'n', 'e', 'x', 'a', 'm', 'p', 'l', 'e', 's']
_

Contoh 2. Pisahkan String menjadi Daftar Karakter menggunakan Kelas Daftar

Dalam contoh ini, kami akan mengambil string dan meneruskannya ke konstruktor Daftar. String dianggap iterable dan diubah menjadi List dengan setiap karakter dalam string sebagai elemen list

Program Piton

str = 'pythonexamples'

chars = list(str)

print(chars)
Jalankan

Keluaran

['p', 'y', 't', 'h', 'o', 'n', 'e', 'x', 'a', 'm', 'p', 'l', 'e', 's']
_

Ringkasan

Dalam tutorial Contoh Python ini, kami belajar cara membagi string menjadi daftar karakter, dengan bantuan contoh yang mendetail

Dalam tutorial ini, kita akan belajar cara memisahkan string dengan pembatas ekspresi reguler menggunakan paket re python

Contoh 1. Pisahkan String dengan Ekspresi Reguler

Dalam contoh ini, kita akan mengambil string dengan item/kata yang dipisahkan dengan kombinasi garis bawah dan koma

Jadi, pembatasnya bisa jadi __, _,, ,_ atau ,,. Ekspresi reguler untuk menutupi pembatas ini adalah '[_,][_,]'.

['63', 'foo', 'bar', 'mango', 'apple']
0 menentukan bahwa karakter dapat cocok dengan
['63', 'foo', 'bar', 'mango', 'apple']
1 atau
['63', 'foo', 'bar', 'mango', 'apple']
2

Program Piton

import re
#a string
str = '63__foo,,bar,_mango_,apple'
#split string into chunks
chunks = re.split('[_,][_,]',str)
#print chunks
print(chunks)
Lari

Keluaran

['63', 'foo', 'bar', 'mango', 'apple']
_

Contoh 2. Pisahkan String dengan Kelas

Kelas ekspresi reguler adalah kelas yang mencakup sekelompok karakter. Kami akan menggunakan salah satu dari kelas tersebut,

['63', 'foo', 'bar', 'mango', 'apple']
3 yang cocok dengan angka desimal apa pun

Dalam contoh ini, kami juga akan menggunakan

['63', 'foo', 'bar', 'mango', 'apple']
_4 yang cocok dengan satu atau lebih karakter sebelumnya

Ekspresi reguler

['63', 'foo', 'bar', 'mango', 'apple']
_5 akan cocok dengan satu atau lebih angka desimal. Dalam contoh ini, kami akan menggunakan ekspresi reguler ini untuk membagi string menjadi potongan-potongan yang dipisahkan oleh satu atau lebih angka desimal

Program Piton

import re

#a string
str = 'foo635bar4125mango2apple21orange'
#split with regular expression
chunks = re.split('\d+',str)
print(chunks)
Lari

Keluaran

['foo', 'bar', 'mango', 'apple', 'orange']

Ringkasan

Dalam tutorial Contoh Python ini, kami belajar cara mengemas ulang untuk membagi string menggunakan ekspresi reguler

Pada artikel ini, akan dipelajari cara membagi string berdasarkan pola ekspresi reguler dengan Python. Metode

import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
_0 modul Python membagi string dengan kemunculan pola regex, mengembalikan daftar yang berisi substring yang dihasilkan

Setelah membaca artikel ini, Anda akan dapat melakukan operasi pemisahan berikut menggunakan regex dengan Python

OperationDescription
import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
1Membagi string dengan setiap kemunculan
import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
2.
import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
_3Pisahkan string dengan kemunculan
import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
2. Batasi jumlah pemisahan menjadi 2
import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
5 Pisahkan string dengan beberapa pola pembatas (
import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
6 dan
import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
7). Operasi pemisahan regex Python

Daftar Isi

Cara menggunakan fungsi import re target_string = "My name is maximums and my luck numbers are 12 45 78" # split on white-space word_list = re.split(r"\s+", target_string) print(word_list) # Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']_0

Sebelum melangkah lebih jauh, mari kita lihat sintaks metode

import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
0 Python

Sintaksis

re.split(pattern, string, maxsplit=0, flags=0)

Pola ekspresi reguler dan string target adalah argumen wajib.

import re

target_string = "12-45-78"

# Split only on the first occurrence
# maxsplit is 1
result = re.split(r"\D", target_string, maxsplit=1)
print(result)
# Output ['12', '45-78']

# Split on the three occurrence
# maxsplit is 3
result = re.split(r"\D", target_string, maxsplit=3)
print(result)
# Output ['12', '45', '78']
_0, dan bendera adalah opsional

  • import re
    
    target_string = "My name is maximums and my luck numbers are 12 45 78"
    # split on white-space 
    word_list = re.split(r"\s+", target_string)
    print(word_list)
    
    # Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
    _2. pola ekspresi reguler yang digunakan untuk memisahkan string target
  • import re
    
    target_string = "12-45-78"
    
    # Split only on the first occurrence
    # maxsplit is 1
    result = re.split(r"\D", target_string, maxsplit=1)
    print(result)
    # Output ['12', '45-78']
    
    # Split on the three occurrence
    # maxsplit is 3
    result = re.split(r"\D", target_string, maxsplit=3)
    print(result)
    # Output ['12', '45', '78']
    _2. Variabel yang menunjuk ke string target (mis. e. , string yang ingin kita pisahkan)
  • import re
    
    target_string = "12-45-78"
    
    # Split only on the first occurrence
    # maxsplit is 1
    result = re.split(r"\D", target_string, maxsplit=1)
    print(result)
    # Output ['12', '45-78']
    
    # Split on the three occurrence
    # maxsplit is 3
    result = re.split(r"\D", target_string, maxsplit=3)
    print(result)
    # Output ['12', '45', '78']
    _0. Jumlah pemisahan yang ingin Anda lakukan. Jika
    import re
    
    target_string = "12-45-78"
    
    # Split only on the first occurrence
    # maxsplit is 1
    result = re.split(r"\D", target_string, maxsplit=1)
    print(result)
    # Output ['12', '45-78']
    
    # Split on the three occurrence
    # maxsplit is 3
    result = re.split(r"\D", target_string, maxsplit=3)
    print(result)
    # Output ['12', '45', '78']
    0 adalah 2, paling banyak terjadi dua pemisahan, dan sisa string dikembalikan sebagai elemen terakhir dari daftar
  • import re
    
    target_string = "12-45-78"
    
    # Split only on the first occurrence
    # maxsplit is 1
    result = re.split(r"\D", target_string, maxsplit=1)
    print(result)
    # Output ['12', '45-78']
    
    # Split on the three occurrence
    # maxsplit is 3
    result = re.split(r"\D", target_string, maxsplit=3)
    print(result)
    # Output ['12', '45', '78']
    _5. Secara default, tidak ada tanda yang diterapkan
    Ada banyak flag regex yang bisa kita gunakan. Misalnya,
    import re
    
    target_string = "12-45-78"
    
    # Split only on the first occurrence
    # maxsplit is 1
    result = re.split(r"\D", target_string, maxsplit=1)
    print(result)
    # Output ['12', '45-78']
    
    # Split on the three occurrence
    # maxsplit is 3
    result = re.split(r"\D", target_string, maxsplit=3)
    print(result)
    # Output ['12', '45', '78']
    _6 digunakan untuk melakukan pencarian case-insensitive

Catatan. Jika tanda kurung penangkap digunakan dalam pola, maka teks dari semua grup dalam pola juga dikembalikan sebagai bagian dari daftar yang dihasilkan

Nilai pengembalian

Itu membagi string target sesuai pola ekspresi reguler, dan kecocokan dikembalikan dalam bentuk daftar

Jika pola yang ditentukan tidak ditemukan di dalam string target, maka string tersebut tidak dipisahkan dengan cara apa pun, tetapi metode split tetap menghasilkan daftar karena ini adalah cara desainnya. Namun, daftar tersebut hanya berisi satu elemen, string target itu sendiri

Contoh regex untuk membagi string menjadi kata-kata

Sekarang, mari kita lihat bagaimana menggunakan

import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
0 dengan bantuan contoh sederhana. Dalam contoh ini, kami akan memisahkan string target pada setiap karakter spasi menggunakan urutan khusus
import re

target_string = "12-45-78"

# Split only on the first occurrence
# maxsplit is 1
result = re.split(r"\D", target_string, maxsplit=1)
print(result)
# Output ['12', '45-78']

# Split on the three occurrence
# maxsplit is 3
result = re.split(r"\D", target_string, maxsplit=3)
print(result)
# Output ['12', '45', '78']
8

Mari tambahkan

import re

target_string = "12-45-78"

# Split only on the first occurrence
# maxsplit is 1
result = re.split(r"\D", target_string, maxsplit=1)
print(result)
# Output ['12', '45-78']

# Split on the three occurrence
# maxsplit is 3
result = re.split(r"\D", target_string, maxsplit=3)
print(result)
# Output ['12', '45', '78']
9 metakarakter di akhir
import re

target_string = "12-45-78"

# Split only on the first occurrence
# maxsplit is 1
result = re.split(r"\D", target_string, maxsplit=1)
print(result)
# Output ['12', '45-78']

# Split on the three occurrence
# maxsplit is 3
result = re.split(r"\D", target_string, maxsplit=3)
print(result)
# Output ['12', '45', '78']
8. Sekarang, pola regex
import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
1 akan membagi string target pada kemunculan satu atau lebih karakter spasi. Mari kita lihat demonya

Contoh

import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']

Seperti yang Anda lihat di output, kami mendapatkan daftar kata yang dipisahkan oleh spasi putih

Batasi jumlah pembagian

Parameter

import re

target_string = "12-45-78"

# Split only on the first occurrence
# maxsplit is 1
result = re.split(r"\D", target_string, maxsplit=1)
print(result)
# Output ['12', '45-78']

# Split on the three occurrence
# maxsplit is 3
result = re.split(r"\D", target_string, maxsplit=3)
print(result)
# Output ['12', '45', '78']
_0 dari
import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
0 digunakan untuk menentukan berapa banyak pemisahan yang ingin Anda lakukan

Dengan kata sederhana, jika

import re

target_string = "12-45-78"

# Split only on the first occurrence
# maxsplit is 1
result = re.split(r"\D", target_string, maxsplit=1)
print(result)
# Output ['12', '45-78']

# Split on the three occurrence
# maxsplit is 3
result = re.split(r"\D", target_string, maxsplit=3)
print(result)
# Output ['12', '45', '78']
_0 adalah 2, maka dua pemisahan akan dilakukan, dan sisa string dikembalikan sebagai elemen terakhir dari daftar

Jadi mari kita ambil contoh sederhana untuk membagi string pada kejadian non-digit apa pun. Di sini kita akan menggunakan urutan khusus

import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
_5 yang cocok dengan karakter non-digit apa pun

Contoh

import re

target_string = "12-45-78"

# Split only on the first occurrence
# maxsplit is 1
result = re.split(r"\D", target_string, maxsplit=1)
print(result)
# Output ['12', '45-78']

# Split on the three occurrence
# maxsplit is 3
result = re.split(r"\D", target_string, maxsplit=3)
print(result)
# Output ['12', '45', '78']

Regex ke Split string dengan banyak pembatas

Di bagian ini, kita akan mempelajari cara menggunakan regex untuk memisahkan string pada beberapa delimiter dengan Python

Misalnya, dengan menggunakan metode ekspresi reguler

import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
_0, kita dapat memisahkan string baik dengan koma atau spasi

Dengan metode regex

import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
_7, Anda akan mendapatkan lebih banyak fleksibilitas. Anda dapat menentukan pola untuk pembatas di mana Anda dapat menentukan beberapa pembatas, sementara dengan metode
import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
7 string, Anda hanya dapat menggunakan karakter tetap atau kumpulan karakter untuk memisahkan string

Mari kita ambil contoh sederhana untuk membagi string dengan tanda hubung atau koma

Contoh untuk memisahkan string dengan dua pembatas

import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']

Regex untuk memisahkan string pada lima pembatas

Di sini kita akan menggunakan regex untuk membagi string dengan lima pembatas Termasuk titik, koma, titik koma, tanda hubung, dan spasi diikuti dengan sejumlah spasi ekstra

import re

target_string = "PYnative   dot.com; is for, Python-developer"
# Pattern to split: [-;,.\s]\s*
result = re.split(r"[-;,.\s]\s*", target_string)
print(result)
# Output ['PYnative', 'dot', 'com', 'is', 'for', 'Python', 'developer']

Catatan. kami menggunakan

import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
9 karakter meta untuk menunjukkan daftar karakter pembatas.
import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
_9 cocok dengan karakter tunggal apa pun dalam tanda kurung. Misalnya,
import re

target_string = "PYnative   dot.com; is for, Python-developer"
# Pattern to split: [-;,.\s]\s*
result = re.split(r"[-;,.\s]\s*", target_string)
print(result)
# Output ['PYnative', 'dot', 'com', 'is', 'for', 'Python', 'developer']
1 akan cocok dengan tanda hubung, koma, titik koma, titik, dan karakter spasi

Regex untuk membagi String menjadi kata-kata dengan beberapa pembatas batas kata

Dalam contoh ini, kami akan menggunakan pola regex

import re

target_string = "PYnative   dot.com; is for, Python-developer"
# Pattern to split: [-;,.\s]\s*
result = re.split(r"[-;,.\s]\s*", target_string)
print(result)
# Output ['PYnative', 'dot', 'com', 'is', 'for', 'Python', 'developer']
_2 untuk melayani pembatas Non-alfanumerik apa pun. Dengan menggunakan pola ini kita dapat memisahkan string dengan beberapa pembatas batas kata yang akan menghasilkan daftar alfanumerik/token kata

Catatan.

import re

target_string = "PYnative   dot.com; is for, Python-developer"
# Pattern to split: [-;,.\s]\s*
result = re.split(r"[-;,.\s]\s*", target_string)
print(result)
# Output ['PYnative', 'dot', 'com', 'is', 'for', 'Python', 'developer']
_3 adalah urutan khusus regex yang cocok dengan karakter Non-alfanumerik apa pun. Non-alfanumerik berarti tanpa huruf, angka, dan garis bawah

Contoh

import re

target_string = "PYnative! dot.com; is for, Python-developer?"
result = re.split(r"[\b\W\b]+", target_string)
print(result)
# Output ['PYnative', 'dot', 'com', 'is', 'for', 'Python', 'developer', '']

Pisahkan string dengan pembatas dan kata tertentu

import re

text = "12, and45,78and85-17and89-97"
# split by word 'and' space, and comma
result = re.split(r"and|[\s,-]+", text)
print(result)
# Output ['12', '', '45', '78', '85', '17', '89', '97']

Regex membagi string dan mempertahankan pemisah

Seperti yang saya katakan di awal artikel jika menangkap tanda kurung digunakan dalam pola, maka teks dari semua grup dalam pola juga dikembalikan sebagai bagian dari daftar hasil.

Catatan. Anda menangkap grup dengan menulis pola di dalam

import re

target_string = "PYnative   dot.com; is for, Python-developer"
# Pattern to split: [-;,.\s]\s*
result = re.split(r"[-;,.\s]\s*", target_string)
print(result)
# Output ['PYnative', 'dot', 'com', 'is', 'for', 'Python', 'developer']
4,
import re

target_string = "PYnative   dot.com; is for, Python-developer"
# Pattern to split: [-;,.\s]\s*
result = re.split(r"[-;,.\s]\s*", target_string)
print(result)
# Output ['PYnative', 'dot', 'com', 'is', 'for', 'Python', 'developer']
5

Sederhananya, berhati-hatilah saat menggunakan metode

import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
0 saat pola ekspresi reguler diapit tanda kurung untuk menangkap grup. Jika grup tangkap digunakan, maka teks yang cocok juga disertakan dalam daftar yang dihasilkan

Akan sangat membantu ketika Anda ingin menyimpan pemisah/pembatas dalam daftar yang dihasilkan

import re

target_string = "12-45-78."

# Split on non-digit
result = re.split(r"\D+", target_string)
print(result)
# Output ['12', '45', '78', '']

# Split on non-digit and keep the separators
# pattern written in parenthese
result = re.split(r"(\D+)", target_string)
print(result)
# Output ['12', '-', '45', '-', '78', '.', '']

Regex memisahkan string dengan mengabaikan huruf besar-kecil

Ada kemungkinan string berisi huruf kecil dan huruf besar

Misalnya, Anda ingin memisahkan string pada karakter atau rentang karakter tertentu, tetapi Anda tidak tahu apakah karakter/kata tersebut merupakan huruf besar atau huruf kecil atau kombinasi keduanya. Di sini Anda dapat menggunakan flag

import re

target_string = "PYnative   dot.com; is for, Python-developer"
# Pattern to split: [-;,.\s]\s*
result = re.split(r"[-;,.\s]\s*", target_string)
print(result)
# Output ['PYnative', 'dot', 'com', 'is', 'for', 'Python', 'developer']
7 atau
import re

target_string = "12-45-78"

# Split only on the first occurrence
# maxsplit is 1
result = re.split(r"\D", target_string, maxsplit=1)
print(result)
# Output ['12', '45-78']

# Split on the three occurrence
# maxsplit is 3
result = re.split(r"\D", target_string, maxsplit=3)
print(result)
# Output ['12', '45', '78']
6 di dalam metode
import re

target_string = "My name is maximums and my luck numbers are 12 45 78"
# split on white-space 
word_list = re.split(r"\s+", target_string)
print(word_list)

# Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
0 untuk melakukan pemisahan case-insensitive

import re

# Without ignoring case
print(re.split('[a-z]+', "7J8e7Ss3a"))
# output ['7J8', '7S', '3', '']

# With ignoring case
print(re.split('[a-z]+', "7J8e7Ss3a", flags=re.IGNORECASE))
# output ['7', '8', '7', '3', '']

# Without ignoring case
print(re.split(r"emma", "Emma knows Python.EMMA loves Data Science"))
# output ['Emma knows Python.EMMA loves Data Science']

# With ignoring case
print(re.split(r"emma", "Emma knows Python.EMMA loves Data Science", flags=re.IGNORECASE))
# output ['', ' knows Python.', ' loves Data Science']

Metode split() string vs. pemisahan regex()

Sekarang mari kita pikirkan metode default

import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
7 di Python, yang khusus untuk string. Seperti yang kemungkinan besar Anda ketahui, metode
import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
7 default membagi string dengan pembatas tertentu. Namun, harap diperhatikan bahwa pembatas ini adalah string tetap yang Anda tentukan di dalam tanda kurung metode

Perbedaan antara metode default

import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
7 dan ekspresi reguler
import re

target_string = "12,45,78,85-17-89"
# 2 delimiter - and ,
# use OR (|) operator to combine two pattern
result = re.split(r"-|,", target_string)
print(result)
# Output ['12', '45', '78', '85', '17', '89']
7 sangat besar. Ada lebih banyak fleksibilitas saat menggunakan pemisahan ekspresi reguler, yang terbukti sangat berguna dalam beberapa skenario dan untuk tugas tertentu

  1. Dengan metode
    import re
    
    target_string = "My name is maximums and my luck numbers are 12 45 78"
    # split on white-space 
    word_list = re.split(r"\s+", target_string)
    print(word_list)
    
    # Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
    0, Anda dapat menentukan pola pembatas, sedangkan dengan metode default
    import re
    
    target_string = "12,45,78,85-17-89"
    # 2 delimiter - and ,
    # use OR (|) operator to combine two pattern
    result = re.split(r"-|,", target_string)
    print(result)
    # Output ['12', '45', '78', '85', '17', '89']
    7, Anda hanya dapat menggunakan karakter tetap atau sekumpulan karakter
  2. Selain itu, dengan menggunakan
    import re
    
    target_string = "My name is maximums and my luck numbers are 12 45 78"
    # split on white-space 
    word_list = re.split(r"\s+", target_string)
    print(word_list)
    
    # Output ['My', 'name', 'is', 'maximums', 'and', 'my', 'luck', 'numbers', 'are', '12', '45', '78']
    _0 kita dapat memisahkan string dengan beberapa pembatas

Pisahkan string dengan kata-kata huruf besar

Misalnya, Anda memiliki string seperti "EMMA suka PYTHON dan ML", dan Anda ingin memisahkannya dengan huruf besar untuk mendapatkan hasil seperti ['HELLO there', 'HOW are', 'YOU']

Bagaimana Anda membagi string dengan huruf di Python?

Python split() method digunakan untuk membagi string menjadi potongan-potongan, dan menerima satu argumen yang disebut pemisah. Pemisah dapat berupa karakter atau simbol apa pun. Jika tidak ada pemisah yang ditentukan, maka itu akan memisahkan string yang diberikan dan spasi putih akan digunakan secara default.

Bagaimana Anda memisahkan karakter alfanumerik dengan Python?

# Metode 1. ulang. split() impor kembali. s = '111A222B333C' res = re. split('(\d+)', s) cetak(res).
# Metode 2. ulang. findall() impor kembali. s = '111A222B333C' res = re. findall('(\d+. [A-Za-z]+)', s).
# Metode 3. itertools. groupby() dari itertools import groupby. s = '111A222B333C' res = [''. join(g) untuk _, g di groupby(s, str

Bagaimana Anda memisahkan alfanumerik?

Pisahkan / Pisahkan string alfanumerik menjadi dua kolom dengan Kutools for Excel .
Pilih string alfanumerik yang ingin Anda pisahkan
Klik Kutools > Gabung & Pisahkan > Pisahkan Sel, lihat tangkapan layar

Bagaimana cara mengekstrak teks dari string alfanumerik dengan Python?

Cara Mengekstrak Hanya Karakter Alfanumerik dari String dengan Python Menggunakan Ekspresi Reguler .
Pernyataan ekspresi reguler yang hanya mengembalikan karakter alfanumerik ditunjukkan di bawah ini. pola= [r'\w+'].
Ini ditunjukkan pada kode di bawah ini. .
Hasil yang kami dapatkan ditunjukkan di bawah ini. .
Ini ditunjukkan di bawah ini