Python | Mehrere Zeichen aus einer Zeichenfolge aufteilen

In Python sind Strings ein grundlegender Datentyp, der zum Speichern und Bearbeiten von Textdaten verwendet wird. Das Aufteilen einer Zeichenfolge in zahlreiche Zeichen ist eine häufige Textverarbeitungsaktivität in Python. Beim Codieren oder Improvisieren Ihrer Programmierkenntnisse sind Sie sicherlich schon auf viele Szenarien gestoßen, die Sie nutzen wollten Teilt() in Python, um nicht nur ein Zeichen, sondern mehrere Trennzeichen gleichzeitig aufzuteilen. In diesem Artikel werden wir verschiedene Ansätze sehen Python-String Mehrere Trennzeichen aufteilen.

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

In Python , Wir können verschiedene Ansätze verwenden, um mehrere Trennzeichen aus der Zeichenfolge zu trennen. Mit diesen Methoden ist das Aufteilen und Bearbeiten einzelner Zeichen aus einer Zeichenfolge in Python einfach.

  • Benutzen Split-Funktion
  • Verwenden von replace()
  • Benutzen re.split()
  • Verwendung von re.findall()

Teilen Sie die Zeichenfolge mithilfe der Split-Funktion durch mehrere Trennzeichen auf

In Python können wir mit split() mehrere Zeichen aus einer Zeichenfolge trennen. Hier durchlaufen wir jedes Trennzeichen und teilen die Zeichenfolge mithilfe von auf split()-Funktion. Nach der Aufteilung verbinden wir die resultierende Liste mit Leerzeichen mithilfe von Funktion join() und wir teilen die geänderte Zeichenfolge basierend auf Leerzeichen auf, um die gewünschte Liste von Zeichenfolgen zu erhalten.

Python3




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

Ausgabe

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

Python-Aufteilung nach mehreren Zeichen mit replace()

In Python können wir mithilfe von mehrere Zeichen aus einer Zeichenfolge aufteilen ersetzen(). Dies ist eine sehr neue Art, den Split durchzuführen. Es verwendet keinen regulären Ausdruck und ist ineffizient, aber dennoch einen Versuch wert. Wenn Sie die Zeichen kennen, nach denen Sie aufteilen möchten, ersetzen Sie sie einfach durch ein Leerzeichen und verwenden Sie dann Teilt() .

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))>

Ausgabe

The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now'] 

Python-Split durch mehrere Zeichen mit Re.split()

In Python können wir mithilfe von mehrere Zeichen aus einer Zeichenfolge aufteilen resplit(). Dies ist die effizienteste und am häufigsten verwendete Methode, um mehrere Zeichen gleichzeitig aufzuteilen. Dazu werden Regex (reguläre Ausdrücke) verwendet.

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))>

Ausgabe

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

Die Zeile re.split(‘, |_|-|!’, data) weist Python an, die variablen Daten in die Zeichen aufzuteilen: , oder _ oder oder ! . Das Symbol | repräsentiert oder. Es gibt einige Symbole in Regex, die als Sondersymbole behandelt werden und unterschiedliche Funktionen haben. Wenn Sie ein solches Symbol teilen möchten, müssen Sie es mit einem Escapezeichen versehen (Backslash) und es benötigt ein Leerzeichen vor und nach Sonderzeichen.

Liste der Sonderzeichen, die vor ihrer Verwendung maskiert werden müssen:

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

Beispiel: In diesem Code verwenden wir resplit(), um Zeichen von Zeichenfolgen in Python zu trennen.

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))>

Ausgabe

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

Notiz: Erfahren Sie mehr über Regex klicken Sie hier .

Teilen Sie die Zeichenfolge mit re.findall() durch mehrere Trennzeichen auf

In Python können wir mit refindall() mehrere Zeichen aus einer Zeichenfolge aufteilen. Dies ist eine etwas geheimnisvollere Form, spart aber Zeit. Es verwendet auch Regex wie oben, aber stattdessen .Teilt() Methode verwendet es eine Methode namens . finde alle() . Diese Methode findet alle passenden Instanzen und gibt jede davon in einer Liste zurück. Diese Art der Aufteilung eignet sich am besten, wenn Sie nicht genau wissen, nach welchen Zeichen Sie aufteilen möchten.

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))>

Ausgabe

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

Hier gibt das Schlüsselwort [w’]+ an, dass alle Vorkommen von Alphabeten oder Unterstrichen (_) eines oder mehrerer gefunden und in einer Liste zurückgegeben werden. Notiz: [w’]+ wird bei einem Unterstrich nicht geteilt( _ ), da sowohl nach Buchstaben als auch nach Unterstrichen gesucht wird.

Beispiel: In diesem Code verwenden wir refindall(), um Zeichen aus Zeichenfolgen aufzuteilen Python.

Python3




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

Ausgabe

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

Charakterklassen

Regex-Spickzettel zur Charakterbeschreibung

Kurzschrift-Zeichenklasse Repräsentiert
D Eine beliebige Ziffer von 0 bis 9
D Jedes Zeichen, das keine numerische Ziffer von 0 bis 9 ist
In Jeder Buchstabe, jede Ziffer oder der Unterstrich
IN Jedes Zeichen, das kein Buchstabe, keine Ziffer oder kein Unterstrich ist
S Beliebiges Leerzeichen, Tabulatorzeichen oder Zeilenumbruchzeichen
S Jedes Zeichen, das kein Leerzeichen, Tabulator oder Zeilenumbruch ist