logo

Python | Diviser plusieurs caractères d'une chaîne

En Python, les chaînes sont un type de données de base utilisé pour stocker et utiliser des données textuelles. Diviser une chaîne en plusieurs caractères est une activité de traitement de texte fréquente en Python. En codant ou en improvisant vos compétences en programmation, vous avez sûrement dû rencontrer de nombreux scénarios dans lesquels vous souhaitiez utiliser diviser() en Python pour ne pas diviser sur un seul caractère mais sur plusieurs délimiteurs à la fois. Dans cet article, nous verrons différentes approches pour Chaîne Python diviser plusieurs délimiteurs.

  Input:   'GeeksForGeeks, is an-awesome! website'   Output:   ['GeeksForGeeks, ', 'is', 'an-awesome!', 'website']   Explanation:   In This, we are splitting the multiple delimiters from the string.>

Dans Python , Nous pouvons utiliser différentes approches pour séparer plusieurs délimiteurs de la chaîne. Avec ces méthodes, diviser et manipuler les caractères individuels d’une chaîne en Python est simple.

  • En utilisant Fonction de partage
  • Utiliser remplacer()
  • En utilisant re.split()
  • Utiliser re.findall()

Diviser la chaîne par plusieurs délimiteurs à l'aide de la fonction Split

En Python, nous pouvons diviser plusieurs caractères d'une chaîne en utilisant split(). Ici, nous parcourons chaque délimiteur et divisons la chaîne à l'aide du fonction split(). Après la division, nous joignons la liste résultante avec des espaces en utilisant le fonction join() et nous divisons la chaîne modifiée en fonction des espaces pour obtenir la liste de chaînes souhaitée.



Python3




string>=> 'GeeksForGeeks, | is an-awesome! website'> delimiters>=> [>','>,>'|'>,>';'>,>'!'>]> for> delimiter>in> delimiters:> >string>=> ' '>.join(string.split(delimiter))> result>=> string.split()> print>(result)>

>

sous-chaîne_index dans SQL
>

Sortir

['GeeksForGeeks', 'is', 'an-awesome', 'website']>

Python divisé par plusieurs caractères à l'aide de replace()

En Python, nous pouvons diviser plusieurs caractères d'une chaîne en utilisant remplacer(). C’est une façon très novice de faire le fractionnement. Il n'utilise pas d'expressions régulières et est inefficace mais vaut quand même la peine d'être essayé. Si vous connaissez les caractères sur lesquels vous souhaitez diviser, remplacez-les simplement par un espace, puis utilisez diviser() .

Python3




data>=> 'Let's_try, this now'> # printing original string> print>(>'The original string is : '> +> data)> # Using replace() and split()> # Splitting characters in String> res>=> data.replace(>'_'>,>' '>).replace(>', '>,>' '>).split()> print>(>'The list after performing split functionality : '> +> str>(res))>

>

>

Sortir

tableau de chaînes en programmation C
The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now']>

Python divisé par plusieurs caractères à l'aide de Re.split()

En Python, nous pouvons diviser plusieurs caractères d'une chaîne en utilisant resplit(). Il s'agit de la méthode la plus efficace et la plus couramment utilisée pour diviser plusieurs caractères à la fois. Il utilise des expressions régulières (expressions régulières) pour ce faire.

Python3




import> re> data>=> 'techcodeview.com, is_an-awesome ! website'> print>(>'The original string is : '> +> data)> # Using re.split()> # Splitting characters in String> res>=> re.split(>', |_|-|!'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))>

>

>

Sortir

The original string is : techcodeview.com, is_an-awesome ! website The list after performing split functionality : ['techcodeview.com', 'is', 'an', 'awesome ', ' website']>

La ligne re.split(', |_|-|!', data) indique à Python de diviser les données variables en caractères : , ou _ ou ou ! . Le symbole | représente ou. Certains symboles dans les expressions régulières sont traités comme des symboles spéciaux et ont des fonctions différentes. Si vous souhaitez diviser sur un tel symbole, vous devez y échapper à l'aide d'un (barre oblique inverse) et il a besoin d'un espace avant et après les caractères spéciaux.

Liste des caractères spéciaux qui doivent être échappés avant de les utiliser :

.  + * ? [ ^ ] $ ( ) { } = | :>

Exemple: Dans ce code, nous utilisons resplit() pour diviser les caractères des chaînes en Python.

Logique du 1er ordre

Python3




import> re> newData1>=> 'techcodeview.com, is_an-awesome ! app + too'> # To split '+' with one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData1))> newData2>=> 'techcodeview.com, is_an-awesome ! app+too'> # To split '+' without one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData2))>

>

>

Sortir

['techcodeview.com', ' is', 'an', 'awesome', ' app', 'too']>

Note: Pour en savoir plus sur les regex Cliquez ici .

Diviser la chaîne par plusieurs délimiteurs à l'aide de re.findall()

En Python, nous pouvons diviser plusieurs caractères d'une chaîne en utilisant refindall(). C'est une forme un peu plus obscure mais qui fait gagner du temps. Il utilise également des expressions régulières comme ci-dessus, mais au lieu de .diviser() méthode, il utilise une méthode appelée . Trouver tout() . Cette méthode recherche toutes les instances correspondantes et renvoie chacune d'elles dans une liste. Cette façon de diviser est mieux utilisée lorsque vous ne connaissez pas les caractères exacts sur lesquels vous souhaitez diviser.

Python3




import> re> data>=> 'This, is - another : example?!'> print>(>'The original string is : '> +> data)> # Using re.findall()> # Splitting characters in String> res>=> re.findall(r>'[w']+'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))>

>

>

Sortir

The original string is : This, is - another : example?! The list after performing split functionality : ['This', 'is', 'another', 'example']>

Ici, le mot-clé [w’]+ indique qu’il trouvera toutes les instances d’alphabets ou soulignera (_) une ou plusieurs et les renverra dans une liste. Note: [w’]+ ne se divisera pas sur un trait de soulignement ( _ ) car il recherche les alphabets ainsi que les traits de soulignement.

Exemple: Dans ce code, nous utilisons refindall() pour séparer les caractères des chaînes dans Python.

Python3


pour chaque texte dactylographié



import> re> testData>=> 'This, is - underscored _ example?!'> print>(re.findall(r>'[w']+'>, testData))>

>

>

Sortir

['This', 'is', 'underscored', '_', 'example']>

Classes de personnages

Aide-mémoire Regex sur la description du personnage

Classe de caractères abrégés Représente
d N'importe quel chiffre numérique de 0 à 9
D Tout caractère autre qu'un chiffre numérique compris entre 0 et 9
Dans N'importe quelle lettre, chiffre numérique ou caractère de soulignement
DANS Tout caractère autre qu'une lettre, un chiffre numérique ou un trait de soulignement
s N'importe quel espace, tabulation ou caractère de nouvelle ligne
S Tout caractère autre qu'un espace, une tabulation ou une nouvelle ligne