Handbuch zur Python-String-Manipulation – Erfahren Sie, wie Sie Python-Strings für Anfänger manipulieren


String-Manipulation ist eine dieser Aktivitäten in der Programmierung, die wir als Programmierer ständig durchführen.

In vielen Programmiersprachen müssen Sie einen Großteil der schweren Arbeit selbst erledigen.

In Python hingegen stehen Ihnen in der Standardbibliothek mehrere integrierte Funktionen zur Verfügung, mit denen Sie Zeichenfolgen auf vielfältige Weise manipulieren können.

In diesem Artikel zeige ich Ihnen, wie Sie speziell mit Zeichenfolgen arbeiten ein paar nette Tricks.

Kurzinfo: Sie können hier eine PDF-Version dieses Python-String-Manipulationshandbuchs herunterladen.

Bereit zum Eintauchen?

Inhaltsverzeichnis

  1. Python-String-Grundlagen
  2. So teilen Sie einen String in Python
  3. So entfernen Sie alle Leerzeichen in einer Zeichenfolge in Python
  4. Umgang mit mehrzeiligen Zeichenfolgen in Python
  5. lstrip(): So entfernen Sie Leerzeichen und Zeichen vom Anfang einer Zeichenfolge in Python
  6. rstrip(): So entfernen Sie Leerzeichen und Zeichen vom Ende einer Zeichenfolge in Python
  7. strip(): So entfernen Sie Leerzeichen und Zeichen vom Anfang und Ende eines Strings in Python
  8. So erstellen Sie in Python eine ganze Zeichenfolge in Kleinbuchstaben
  9. So erstellen Sie in Python einen ganzen String in Großbuchstaben
  10. So verwenden Sie die Groß- und Kleinschreibung von Titeln in Python
  11. So verwenden Sie Swap Case in Python
  12. So überprüfen Sie in Python, ob ein String leer ist
  13. rjust(): Wie man einen String in Python rechtsbündig ausrichtet
  14. ljust(): Wie man einen String in Python linksbündig ausrichtet
  15. isalnum(): So prüfen Sie in Python nur, ob eine Zeichenfolge alphanumerische Zeichen enthält
  16. isprintable(): So prüfen Sie in Python, ob ein String druckbare Zeichen enthält
  17. isspace(): So prüfen Sie in Python nur, ob in einem String Leerzeichen vorhanden sind
  18. Startswith(): So überprüfen Sie in Python, ob ein String mit einem bestimmten Wert beginnt
  19. Capitalize(): So setzen Sie das erste Zeichen in einer Zeichenfolge in Python nur auf Großbuchstaben
  20. isupper(): So prüfen Sie in Python nur, ob in einem String Großbuchstaben vorhanden sind
  21. join(): So fügen Sie Elemente einer Iterable in Python zu einem String zusammen
  22. splitlines(): So teilen Sie einen String an Zeilenumbrüchen in Python
  23. islower(): So prüfen Sie in Python nur, ob in einem String Kleinbuchstaben vorhanden sind
  24. isnumeric(): So prüfen Sie in Python nur auf Zahlen in einem String
  25. isdigit(): So prüfen Sie in Python nur, ob Ziffern in einer Zeichenfolge vorhanden sind
  26. isdecimal(): So prüfen Sie in Python nur auf Dezimalstellen in einem String
  27. isalpha(): So prüfen Sie in Python nur, ob in einer Zeichenfolge Buchstaben vorhanden sind
  28. istitle(): So prüfen Sie, ob jedes Wort in einem String in Python mit einem Großbuchstaben beginnt
  29. expandtabs(): So legen Sie die Anzahl der Leerzeichen für einen Tabulator in einer Zeichenfolge in Python fest
  30. center(): So zentrieren Sie einen String in Python
  31. zfill(): So fügen Sie Nullen zu einem String in Python hinzu
  32. find(): So überprüfen Sie in Python, ob ein String einen bestimmten Teilstring hat
  33. So entfernen Sie ein Präfix oder Suffix in einer Zeichenfolge in Python
  34. lstrip() vs. Removeprefix() und rstrip() vs. Removesuffix()
  35. So funktioniert Slicing in Python
  36. So kehren Sie einen String in Python um
  37. Abschluss

Python-String-Grundlagen

Der Typ text ist einer der am häufigsten vorkommenden Typen und wird oft string oder in Python einfach str genannt.

my_city = "New York"
print(type(my_city))

#Single quotes have exactly
#the same use as double quotes
my_city = 'New York'
print(type(my_city))

#Setting the variable type explicitly
my_city = str("New York")
print(type(my_city))
<class 'str'>
<class 'str'>
<class 'str'>

So verketten Sie Zeichenfolgen

Sie können den Operator + verwenden, um Zeichenfolgen zu verketten.

Von einer Verkettung spricht man, wenn Sie zwei oder mehr Zeichenfolgen haben und diese zu einer einzigen verbinden möchten.

word1 = 'New '
word2 = 'York'

print(word1 + word2)
New York

So wählen Sie ein Zeichen aus

Um ein Zeichen auszuwählen, verwenden Sie [] und geben Sie die Position des Zeichens an.

Position 0 bezieht sich auf die erste Position.

>>> word = "Rio de Janeiro"
>>> char=word[0]
>>> print(char)
R

So ermitteln Sie die Größe einer Zeichenfolge

Die Funktion len() gibt die Länge einer Zeichenfolge zurück.

>>> len('Rio')
3
>>> len('Rio de Janeiro')
14

So ersetzen Sie einen Teil einer Zeichenfolge

Die Methode replace() ersetzt einen Teil der Zeichenfolge durch einen anderen. Als Beispiel ersetzen wir „Rio“ durch „Mar“.

>>> 'Rio de Janeiro'.replace('Rio', 'Mar')
'Mar de Janeiro'

Rio bedeutet auf Portugiesisch Fluss und Mar bedeutet Meer – nur damit Sie wissen, dass ich diesen Ersatz nicht so zufällig ausgewählt habe.

Wie man zählt

Geben Sie an, was als Argument gezählt werden soll.

In diesem Fall zählen wir, wie viele Plätze es in „Rio de Janeiro“ gibt, nämlich 2.

>>> word = "Rio de Janeiro"
>>> print(word.count(' '))
2

So wiederholen Sie eine Zeichenfolge

Sie können das Symbol * verwenden, um eine Zeichenfolge zu wiederholen.

Hier multiplizieren wir das Wort „Tokio“ mit 3.

>>> words = "Tokyo" * 3 
>>> print(words)
TokyoTokyoTokyo

So teilen Sie einen String in Python

Das Aufteilen einer Zeichenfolge in kleinere Teile ist eine sehr häufige Aufgabe. Dazu verwenden wir die Methode split() in Python.

Sehen wir uns einige Beispiele an, wie das geht.

Beispiel 1: Leerzeichen als Trennzeichen verwenden

In diesem Beispiel teilen wir die Phrase durch Leerzeichen auf und erstellen eine Liste mit dem Namen my_words mit fünf Elementen, die jedem Wort in der Phrase entsprechen.

my_phrase = "let's go to the beach"
my_words = my_phrase.split(" ")

for word in my_words:
    print(word)
#output:
#let's
#go
#to
#the
#beach

print(my_words)
#output:
#["let's", 'go', 'to', 'the', 'beach']

Beachten Sie, dass die Methode split() standardmäßig eine beliebige aufeinanderfolgende Anzahl von Leerzeichen als Trennzeichen verwendet. Wir können den obigen Code wie folgt ändern:

my_phrase = "let's go to the beach"
my_words = my_phrase.split()

for word in my_words:
    print(word)

#output:
#let's
#go
#to
#the
#beach

Die Ausgabe ist dieselbe, da zwischen jedem Wort nur ein Leerzeichen steht.

Beispiel 2: Übergeben Sie verschiedene Argumente als Trennzeichen

Bei der Arbeit mit Daten ist es üblich, einige CSV-Dateien zu lesen, um Informationen daraus zu extrahieren.

Daher müssen Sie möglicherweise bestimmte Daten aus einer bestimmten Spalte speichern.

CSV-Dateien haben normalerweise Felder, die durch ein Semikolon „;“ getrennt sind. oder ein Komma ",".

In diesem Beispiel verwenden wir die Methode split() und übergeben als Argument ein bestimmtes Trennzeichen, „;“ in diesem Fall.

my_csv = "mary;32;australia;mary@email.com"
my_data = my_csv.split(";")

for data in my_data:
    print(data)

#output:
#mary
#32
#australia
#mary@email.com

print(my_data[3])
#output:
# mary@email.com

So entfernen Sie alle Leerzeichen in einer Zeichenfolge in Python

Wenn Sie wirklich alle Leerzeichen in einer Zeichenfolge entfernen und nur die Zeichen übrig lassen möchten, ist die Verwendung eines regulären Ausdrucks die beste Lösung.

Sie müssen das Modul re importieren, das reguläre Ausdrucksoperationen bereitstellt.

Beachten Sie, dass \s nicht nur Leerzeichen ' ' darstellt, sondern auch Formularvorschub \f und Zeilenvorschub \n, Wagenrücklauf \r, Tab \t und vertikaler Tab \v.

Zusammenfassend gilt: \s=[ \f\n\r\t\v].

Das Symbol + wird als Quantor bezeichnet und als „eins oder mehrere“ gelesen. Dies bedeutet, dass in diesem Fall ein oder mehrere Leerzeichen berücksichtigt werden, da es direkt nach dem \s positioniert ist.

import re

phrase = ' Do   or do    not   there    is  no try   '

phrase_no_space = re.sub(r'\s+', '', phrase)

print(phrase)
# Do   or do    not   there    is  no try   

print(phrase_no_space)
#Doordonotthereisnotry

Die ursprüngliche Variable phrase bleibt gleich. Sie müssen die neue bereinigte Zeichenfolge einer neuen Variablen zuweisen, in diesem Fall phrase_no_space.

Umgang mit mehrzeiligen Zeichenfolgen in Python

Dreifache Zitate

Um mehrzeilige Zeichenfolgen in Python zu verarbeiten, verwenden Sie dreifache Anführungszeichen, entweder einfache oder doppelte.

In diesem ersten Beispiel werden doppelte Anführungszeichen verwendet.

long_text = """This is a multiline,

a long string with lots of text,

I'm wrapping it in triple quotes to make it work."""

print(long_text)
#output:
#This is a multiline,
#
#a long string with lots of text,
#
#I'm wrapping it in triple quotes to make it work.

Jetzt das Gleiche wie zuvor, aber mit einfachen Anführungszeichen:

long_text = '''This is a multiline,

a long string with lots of text,

I'm wrapping it in triple quotes to make it work.'''

print(long_text)
#output:
#This is a multiline,
#
#a long string with lots of text,
#
#I'm wrapping it in triple quotes to make it work.

Beachten Sie, dass beide Ausgaben gleich sind.

Klammern

Sehen wir uns ein Beispiel mit Klammern an.

long_text = ("This is a multiline, "
"a long string with lots of text "
"I'm wrapping it in brackets to make it work.")
print(long_text)
#This is a multiline, a long string with lots of text I'm wrapping it in triple quotes to make it work.

Wie Sie sehen, ist das Ergebnis nicht dasselbe. Um neue Zeilen zu erhalten, muss ich \n hinzufügen, etwa so:

long_text = ("This is a multiline, \n\n"
"a long string with lots of text \n\n"
"I'm wrapping it in brackets to make it work.")
print(long_text)
#This is a multiline, 
#
#a long string with lots of text 
#
#I'm wrapping it in triple quotes to make it work.

Backslashes

Schließlich sind auch Backslashes möglich.

Beachten Sie, dass nach dem Zeichen \ kein Leerzeichen steht, da dies einen Fehler auslösen würde.

long_text = "This is a multiline, \n\n" \
"a long string with lots of text \n\n" \
"I'm using backlashes to make it work."
print(long_text)
#This is a multiline, 
#
#a long string with lots of text 
#
#I'm wrapping it in triple quotes to make it work.

lstrip(): So entfernen Sie Leerzeichen und Zeichen vom Anfang einer Zeichenfolge in Python

Verwenden Sie die Methode lstrip(), um Leerzeichen am Anfang einer Zeichenfolge zu entfernen.

regular_text = "   This is a regular text."

no_space_begin_text = regular_text.lstrip()

print(regular_text)
#'   This is a regular text.'

print(no_space_begin_text)
#'This is a regular text.'

Beachten Sie, dass die ursprüngliche Variable regular_text unverändert bleibt. Daher müssen Sie die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall no_space_begin_text.

So entfernen Sie Zeichen

Die Methode lstrip() akzeptiert auch bestimmte Zeichen zum Entfernen als Parameter.

regular_text = "$@G#This is a regular text."

clean_begin_text = regular_text.lstrip("#$@G")

print(regular_text)
#$@G#This is a regular text.

print(clean_begin_text)
#This is a regular text.

rstrip(): So entfernen Sie Leerzeichen und Zeichen vom Ende einer Zeichenfolge in Python

Verwenden Sie die Methode rstrip(), um Leerzeichen am Ende einer Zeichenfolge zu entfernen.

regular_text = "This is a regular text.   "

no_space_end_text = regular_text.rstrip()

print(regular_text)
#'This is a regular text.   '

print(no_space_end_text)
#'This is a regular text.'

Beachten Sie, dass die ursprüngliche Variable regular_text unverändert bleibt, daher müssen Sie die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall no_space_end_text.

Die Methode rstrip() akzeptiert auch bestimmte Zeichen zum Entfernen als Parameter.

regular_text = "This is a regular text.$@G#"

clean_end_text = regular_text.rstrip("#$@G")

print(regular_text)
#This is a regular text.$@G#

print(clean_end_text)
#This is a regular text.

strip(): So entfernen Sie Leerzeichen und Zeichen vom Anfang und Ende eines Strings in Python

Verwenden Sie die Methode strip(), um Leerzeichen am Anfang und Ende einer Zeichenfolge zu entfernen.

regular_text = "  This is a regular text.   "

no_space_text = regular_text.strip()

print(regular_text)
#'  This is a regular text.   '

print(no_space_text)
#'This is a regular text.'

Beachten Sie, dass die ursprüngliche Variable regular_text unverändert bleibt, daher müssen Sie die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall no_space_text.

Die Methode strip() akzeptiert auch bestimmte zu entfernende Zeichen als Parameter.

regular_text = "AbC#This is a regular text.$@G#"

clean_text = regular_text.strip("AbC#$@G")

print(regular_text)
#AbC#This is a regular text.$@G#

print(clean_text)
#This is a regular text.

So erstellen Sie in Python eine ganze Zeichenfolge in Kleinbuchstaben

Verwenden Sie die Methode lower(), um eine ganze Zeichenfolge in Kleinbuchstaben umzuwandeln.

regular_text = "This is a Regular TEXT."

lower_case_text = regular_text.lower()

print(regular_text)
#This is a Regular TEXT.

print(lower_case_text)
#this is a regular text.

Beachten Sie, dass die ursprüngliche Variable regular_text unverändert bleibt. Daher müssen Sie die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall lower_case_text.

So erstellen Sie in Python einen ganzen String in Großbuchstaben

Verwenden Sie die Methode upper(), um eine ganze Zeichenfolge in Großbuchstaben umzuwandeln.

regular_text = "This is a regular text."

upper_case_text = regular_text.upper()

print(regular_text)
#This is a regular text.

print(upper_case_text)
#THIS IS A REGULAR TEXT.

Beachten Sie, dass die ursprüngliche Variable regular_text unverändert bleibt. Daher müssen Sie die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall upper_case_text.

So verwenden Sie die Groß- und Kleinschreibung von Titeln in Python

Verwenden Sie die Methode title(), um den ersten Buchstaben jedes Wortes in Großbuchstaben und die restlichen Zeichen in Kleinbuchstaben umzuwandeln.

regular_text = "This is a regular text."

title_case_text = regular_text.title()

print(regular_text)
#This is a regular text.

print(title_case_text)
#This Is A Regular Text.

Beachten Sie, dass die ursprüngliche Variable regular_text unverändert bleibt, daher müssen Sie die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall title_case_text.

So verwenden Sie Swap Case in Python

Verwenden Sie die Methode swapcase(), um die Großbuchstaben in Kleinbuchstaben umzuwandeln und umgekehrt.

regular_text = "This IS a reguLar text."

swapped_case_text = regular_text.swapcase()

print(regular_text)
#This IS a reguLar text.

print(swapped_case_text)
#tHIS is A REGUlAR TEXT.

Beachten Sie, dass die ursprüngliche Variable regular_text unverändert bleibt, daher müssen Sie die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall swapped_case_text.

So überprüfen Sie in Python, ob ein String leer ist

Die pythonische Methode, um zu überprüfen, ob ein string leer ist, ist die Verwendung des not-Operators.

my_string = ''
if not my_string:
  print("My string is empty!!!")

Um das Gegenteil zu überprüfen und festzustellen, ob die Zeichenfolge nicht leer ist, gehen Sie wie folgt vor:

my_string = 'amazon, microsoft'
if my_string:
  print("My string is NOT empty!!!")

rjust(): Wie man einen String in Python rechtsbündig ausrichtet

Verwenden Sie rjust(), um eine Zeichenfolge rechtsbündig auszurichten.

word = 'beach'
number_spaces = 32

word_justified = word.rjust(number_spaces)

print(word)
#'beach'

print(word_justified)
#'                           beach'

Beachten Sie die Leerzeichen in der zweiten Zeichenfolge. Das Wort „Strand“ hat 5 Zeichen, was uns 27 Leerzeichen gibt, die wir mit Leerzeichen füllen können.

Die ursprüngliche Variable word bleibt unverändert, daher müssen wir die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall word_justified.

Der rjust() akzeptiert auch ein bestimmtes Zeichen als Parameter, um den verbleibenden Platz zu füllen.

word = 'beach'
number_chars = 32
char = '$'

word_justified = word.rjust(number_chars, char)

print(word)
#beach

print(word_justified)
#$$$$$$$$$$$$$$$$$$$$$$$$$$$beach

Ähnlich wie in der ersten Situation habe ich 27 $-Zeichen, sodass ich insgesamt 32 habe, wenn ich die 5 Zeichen zähle, die im Wort „Strand“ enthalten sind.

ljust(): Wie man einen String in Python linksbündig ausrichtet

Verwenden Sie ljust(), um eine Zeichenfolge linksbündig auszurichten.

word = 'beach'
number_spaces = 32

word_justified = word.ljust(number_spaces)

print(word)
#'beach'

print(word_justified)
#'beach                           '

Beachten Sie die Leerzeichen in der zweiten Zeichenfolge. Das Wort „Strand“ hat 5 Zeichen, was uns 27 Leerzeichen gibt, die wir mit Leerzeichen füllen können.

Die ursprüngliche Variable word bleibt unverändert, daher müssen wir die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall word_justified.

Der ljust() akzeptiert auch ein bestimmtes Zeichen als Parameter, um den verbleibenden Platz zu füllen.

word = 'beach'
number_chars = 32
char = '$'

word_justified = word.ljust(number_chars, char)

print(word)
#beach

print(word_justified)
#beach$$$$$$$$$$$$$$$$$$$$$$$$$$$

Ähnlich wie in der ersten Situation habe ich 27 $-Zeichen, sodass ich insgesamt 32 habe, wenn ich die 5 Zeichen zähle, die im Wort „Strand“ enthalten sind.

isalnum(): So prüfen Sie in Python nur, ob eine Zeichenfolge alphanumerische Zeichen enthält

Verwenden Sie die Methode isalnum(), um zu prüfen, ob eine Zeichenfolge nur alphanumerische Zeichen enthält.

word = 'beach'
print(word.isalnum())
#output: True

word = '32'
print(word.isalnum())
#output: True

word = 'number32' #notice there is no space
print(word.isalnum())
#output: True

word = 'Favorite number is 32' #notice the space between words
print(word.isalnum())
#output: False

word = '@number32$' #notice the special chars '@' and '$'
print(word.isalnum())
#output: False

isprintable(): So prüfen Sie in Python, ob in einem String druckbare Zeichen vorhanden sind

Verwenden Sie die Methode isprintable(), um zu prüfen, ob die Zeichen in einer Zeichenfolge druckbar sind.

text = '' # notice this is an empty string, there is no white space here
print(text.isprintable())
#output: True

text = 'This is a regular text'
print(text.isprintable())
#output: True

text = ' ' #one space
print(text.isprintable())
#output: True

text = '                        '  #many spaces
print(text.isprintable())
#output: True

text = '\f\n\r\t\v'
print(text.isprintable())
#output: False

Beachten Sie, dass in den ersten vier Beispielen jedes Zeichen etwas Platz einnimmt, auch wenn es ein Leerzeichen ist, wie Sie im ersten Beispiel sehen können.

Das letzte Beispiel gibt False zurück und zeigt fünf Arten von Zeichen an, die nicht druckbare sind: Seitenvorschub \f, Zeilenvorschub \n, Wagenrücklauf \r, Tab \t und vertikaler Tab \v.

Einige dieser „unsichtbaren“ Zeichen können Ihren Ausdruck stören und zu einer unerwarteten Ausgabe führen, selbst wenn alles „in Ordnung“ aussieht.

isspace(): So prüfen Sie in Python nur, ob in einem String Leerzeichen vorhanden sind

Verwenden Sie die Methode isspace(), um zu überprüfen, ob die Zeichen in einer Zeichenfolge alle Leerzeichen sind.

text = ' '
print(text.isspace())
#output: True

text = ' \f\n\r\t\v'
print(text.isspace())
#output: True

text = '                        '
print(text.isspace())
#output: True

text = '' # notice this is an empty string, there is no white space here
print(text.isspace())
#output: False

text = 'This is a regular text'
print(text.isspace())
#output: False

Beachten Sie im zweiten Beispiel, dass Leerzeichen nicht nur ' ' sind, sondern auch Formularvorschub \f, Zeilenvorschub \n, Wagenrücklauf \r, Tab \t und vertikaler Tab \v.

Startswith(): So überprüfen Sie in Python, ob ein String mit einem bestimmten Wert beginnt

Verwenden Sie die Methode startswith(), um zu prüfen, ob eine Zeichenfolge mit einem bestimmten Wert beginnt.

phrase = "This is a regular text"

print(phrase.startswith('This is'))
#output: True

print(phrase.startswith('text'))
#output: False

Sie können auch festlegen, ob der Match an einer bestimmten Position beginnen und an einer anderen bestimmten Position der Zeichenfolge enden soll.

phrase = "This is a regular text"

print(phrase.startswith('regular', 10)) #the word regular starts at position 10 of the phrase
#output: True

print(phrase.startswith('regular', 10, 22)) #look for in 'regular text'
#output: True

print(phrase.startswith('regular', 10, 15)) ##look for in 'regul'
#output: False

Schließlich möchten Sie möglicherweise gleichzeitig nach mehreren Zeichenfolgen suchen. Anstatt eine Art Schleife zu verwenden, können Sie ein Tupel als Argument mit allen Zeichenfolgen verwenden, mit denen Sie vergleichen möchten.

phrase = "This is a regular text"

print(phrase.startswith(('regular', 'This')))
#output: True

print(phrase.startswith(('regular', 'text')))
#output: False

print(phrase.startswith(('regular', 'text'), 10, 22)) #look for in 'regular text'
#output: True

Capitalize(): So setzen Sie das erste Zeichen in einer Zeichenfolge in Python nur auf Großbuchstaben

Verwenden Sie die Methode capitalize(), um nur das erste Zeichen in einer Zeichenfolge in Großbuchstaben umzuwandeln.

Der Rest der Zeichenfolge wird in Kleinbuchstaben umgewandelt.

text = 'this is a regular text'
print(text.capitalize())
#This is a regular text

text = 'THIS IS A REGULAR TEXT'
print(text.capitalize())
#This is a regular text

text = 'THIS $ 1S @ A R3GULAR TEXT!'
print(text.capitalize())
#This $ 1s @ a r3gular text!

text = '3THIS $ 1S @ A R3GULAR TEXT!'
print(text.capitalize())
#3this $ 1s @ a r3gular text!

Beachten Sie, dass jedes Zeichen zählt, beispielsweise eine Zahl oder ein Sonderzeichen. Im letzten Beispiel ist 3 also das erste Zeichen und erfährt keine Änderungen, während der Rest der Zeichenfolge in Kleinbuchstaben umgewandelt wird.

isupper(): So prüfen Sie in Python nur, ob in einem String Großbuchstaben vorhanden sind

Verwenden Sie die Methode isupper(), um zu überprüfen, ob die Zeichen in einer Zeichenfolge alle in Großbuchstaben geschrieben sind.

text = 'This is a regular text'
print(text.isupper())
#output: False

text = 'THIS IS A REGULAR TEXT'
print(text.isupper())
#output: True

text = 'THIS $ 1S @ A R3GULAR TEXT!'
print(text.isupper())
#output: True

Wenn Sie das letzte Beispiel bemerken, machen die Zahlen und Sonderzeichen wie @ und $ in der Zeichenfolge keinen Unterschied und isupper() gibt immer noch < zurückTrue, da die Methode nur die alphabetischen Zeichen überprüft.

join(): So fügen Sie Elemente einer Iterable in Python zu einem String zusammen

Verwenden Sie die Methode join(), um alle iterierbaren Elemente zu einem String zu verknüpfen.

Die grundlegende Syntax lautet: string.join(iterable)

Gemäß der obigen Syntax ist eine Zeichenfolge als Trennzeichen erforderlich.

Die Methode gibt einen neuen String zurück, was bedeutet, dass der ursprüngliche Iterator unverändert bleibt.

Da die Methode join() nur Zeichenfolgen akzeptiert, wird ein Fehler ausgegeben, wenn ein Element im Iterable von einem anderen Typ ist.

Sehen wir uns einige Beispiele mit String, Liste, Tupel, Menge und Wörterbuch an

join(): Strings

Die Methode join() setzt das Zeichen $ als Trennzeichen für jedes Zeichen in der Zeichenfolge.

my_string = 'beach'

print('$'.join(my_string))
#output: b$e$a$c$h

join(): Listen

Ich habe eine einfache Liste mit drei Elementen, die Automarken repräsentieren.

Die Methode join() verwendet das Zeichen $ als Trennzeichen.

Es verkettet alle Elemente in der Liste und fügt dazwischen das Zeichen $ ein.

my_list = ['bmw', 'ferrari', 'mclaren']

print('$'.join(my_list))
#output: bmw$ferrari$mclaren

Dieses Beispiel erinnert Sie daran, dass join() nicht mit Nicht-String-Elementen funktioniert.

Beim Versuch, die int-Elemente zu verketten, wird ein Fehler ausgelöst.

my_list = [1, 2, 3]

print('$'.join(my_list))
#output:
#Traceback (most recent call last):
#  File "<stdin>", line 1, in <module>
#TypeError: sequence item 0: expected str instance, int found

join(): Tupel

Das Tupel folgt dem gleichen Grundprinzip wie das zuvor erläuterte Listenbeispiel.

Auch hier verwende ich das Zeichen $ als Trennzeichen.

my_tuple = ('bmw', 'ferrari', 'mclaren')

print('$'.join(my_tuple))
#output: bmw$ferrari$mclaren

join(): Setzt

Da die Menge auch mit dem Tupel und der Liste übereinstimmt, habe ich in diesem Beispiel ein anderes Trennzeichen verwendet.

my_set = {'bmw', 'ferrari', 'mclaren'}
print('|'.join(my_set))
#output: ferrari|bmw|mclaren

join(): Wörterbücher

Das Wörterbuch hat einen Haken, wenn Sie die Methode join() verwenden: Es verknüpft die Schlüssel, nicht die Werte.

Dieses Beispiel zeigt die Verkettung der Schlüssel.

my_dict = {'bmw': 'BMW I8', 'ferrari': 'Ferrari F8', 'mclaren': 'McLaren 720S'}

print(','.join(my_dict))
#output: bmw,ferrari,mclaren

splitlines(): So teilen Sie einen String an Zeilenumbrüchen in Python

Verwenden Sie die Methode splitlines(), um eine Zeichenfolge an Zeilenumbrüchen zu teilen.

Die Rückgabe der Methode ist eine Liste der Zeilen.

my_string = 'world \n cup'

print(my_string.splitlines())
#output: ['world ', ' cup']

Wenn Sie den Zeilenumbruch beibehalten möchten, akzeptiert splitlines() einen Parameter, der auf True gesetzt werden kann, der Standardwert ist False.

my_string = 'world \n cup'

print(my_string.splitlines(True))
#output: ['world \n', ' cup']

islower(): So prüfen Sie in Python nur, ob in einem String Kleinbuchstaben vorhanden sind

Verwenden Sie die Methode islower(), um zu überprüfen, ob die Zeichen in einer Zeichenfolge alle in Kleinbuchstaben geschrieben sind.

text = 'This is a regular text'
print(text.islower())
#output: False

text = 'this is a regular text'
print(text.islower())
#output: True

text = 'this $ 1s @ a r3gular text!'
print(text.islower())
#output: True

Wie Sie im letzten Beispiel bemerken, machen die Zahlen und Sonderzeichen wie @ und $ in der Zeichenfolge keinen Unterschied und islower() wird trotzdem zurückgegeben True, da die Methode nur die alphabetischen Zeichen überprüft.

isnumeric(): So prüfen Sie in Python nur auf Zahlen in einem String

Verwenden Sie die Methode isnumeric(), um zu prüfen, ob eine Zeichenfolge nur numerische Zeichen enthält.

Zu den Zahlen gehören Zahlen von 0 bis 9 und Kombinationen daraus, römische Ziffern, hochgestellte, tiefgestellte Ziffern, Brüche und andere Variationen.

word = '32'
print(word.isnumeric())
#output: True

print("\u2083".isnumeric()) #unicode for subscript 3
#output: True

print("\u2169".isnumeric()) #unicode for roman numeral X
#output: True

word = 'beach'
print(word.isnumeric())
#output: False

word = 'number32'
print(word.isnumeric())
#output: False

word = '1 2 3' #notice the space between chars
print(word.isnumeric())
#output: False

word = '@32$' #notice the special chars '@' and '$'
print(word.isnumeric())
#output: False

isdecimal() ist strenger als isdigit(), das wiederum strenger ist als isnumeric().

isdigit(): So prüfen Sie in Python nur, ob Ziffern in einer Zeichenfolge vorhanden sind

Verwenden Sie die Methode isdigit(), um zu prüfen, ob eine Zeichenfolge nur Ziffern enthält.

Zu den Ziffern gehören Zahlen von 0 bis 9 sowie hoch- und tiefgestellte Ziffern.

word = '32'
print(word.isdigit())
#output: True

print("\u2083".isdigit()) #unicode for subscript 3
#output: True

word = 'beach'
print(word.isdigit())
#output: False

word = 'number32'
print(word.isdigit())
#output: False

word = '1 2 3' #notice the space between chars
print(word.isdigit())
#output: False

word = '@32$' #notice the special chars '@' and '$'
print(word.isdigit())
#output: False

isdecimal() ist strenger als isdigit(), das wiederum strenger ist als isnumeric().

isdecimal(): So prüfen Sie in Python nur auf Dezimalstellen in einem String

Verwenden Sie die Methode isdecimal(), um zu prüfen, ob eine Zeichenfolge nur Dezimalzahlen enthält, also nur Zahlen von 0 bis 9 und Kombinationen dieser Zahlen.

Tiefgestellte, hochgestellte, römische Ziffern und andere Variationen werden als False zurückgegeben.

word = '32'
print(word.isdecimal())
#output: True

word = '954'
print(word.isdecimal())
#output: True

print("\u2083".isdecimal()) #unicode for subscript 3
#output: False

word = 'beach'
print(word.isdecimal())
#output: False

word = 'number32'
print(word.isdecimal())
#output: False

word = '1 2 3' #notice the space between chars
print(word.isdecimal())
#output: False

word = '@32$' #notice the special chars '@' and '$'
print(word.isdecimal())
#output: False

isdecimal() ist strenger als isdigit(), das wiederum strenger ist als isnumeric().

isalpha(): So prüfen Sie nur Buchstaben in einem String in Python

Verwenden Sie die Methode isalpha(), um zu prüfen, ob eine Zeichenfolge nur Buchstaben enthält.

word = 'beach'
print(word.isalpha())
#output: True

word = '32'
print(word.isalpha())
#output: False

word = 'number32'
print(word.isalpha())
#output: False

word = 'Favorite number is blue' #notice the space between words
print(word.isalpha())
#output: False

word = '@beach$' #notice the special chars '@' and '$'
print(word.isalpha())
#output: False

istitle(): So prüfen Sie, ob jedes Wort in einem String in Python mit einem Großbuchstaben beginnt

Verwenden Sie die Methode istitle(), um zu prüfen, ob das erste Zeichen in jedem Wort in einer Zeichenfolge Großbuchstaben und die anderen Zeichen Kleinbuchstaben sind.

text = 'This is a regular text'
print(text.istitle())
#output: False

text = 'This Is A Regular Text'
print(text.istitle())
#output: True

text = 'This $ Is @ A Regular 3 Text!'
print(text.istitle())
#output: True

Wie Sie im letzten Beispiel bemerken, machen die Zahlen und Sonderzeichen wie @ und $ in der Zeichenfolge keinen Unterschied und istitle() wird trotzdem zurückgegeben True, da die Methode nur die alphabetischen Zeichen überprüft.

expandtabs(): So legen Sie die Anzahl der Leerzeichen für einen Tabulator in einer Zeichenfolge in Python fest

Verwenden Sie die Methode expandtabs(), um die Anzahl der Leerzeichen für einen Tabulator festzulegen.

Sie können eine beliebige Anzahl von Leerzeichen festlegen. Wenn jedoch kein Argument angegeben wird, ist der Standardwert 8.

Grundlegende Verwendung

my_string = 'B\tR'

print(my_string.expandtabs())
#output: B       R

Beachten Sie die 7 Leerzeichen zwischen den Buchstaben B und R.

Der \t befindet sich an Position zwei nach einem Zeichen und wird daher durch 7 Leerzeichen ersetzt.

Schauen wir uns ein anderes Beispiel an.

my_string = 'WORL\tD'

print(my_string.expandtabs())
#output: WORL    D

Da WORL vier Zeichen hat, wird \t durch 4 Leerzeichen ersetzt, sodass insgesamt 8, die Standard-Tabulatorgröße, erreicht werden.

Der folgende Code gibt uns 4 Leerzeichen für den ersten Tabulator nach vier Zeichen „WORL“ und 7 Leerzeichen für den zweiten Tabulator nach einem Zeichen „D“.

my_string = 'WORL\tD\tCUP'

print(my_string.expandtabs())
#output: WORL    D       CUP

Benutzerdefinierte Tabgröße

Es ist möglich, die Tabgröße nach Bedarf festzulegen.

In diesem Beispiel ist die Tab-Größe 4, was uns 3 Leerzeichen nach dem Zeichen „B“ gibt.

my_string = 'B\tR'

print(my_string.expandtabs(4))
#output: B   R

In diesem Code ist die Tab-Größe auf 6 eingestellt, was uns 5 Leerzeichen nach dem Zeichen „B“ gibt.

my_string = 'B\tR'

print(my_string.expandtabs(6))
#output: B     R

center(): So zentrieren Sie einen String in Python

Verwenden Sie die Methode center(), um eine Zeichenfolge zu zentrieren.

word = 'beach'
number_spaces = 32

word_centered = word.center(number_spaces)

print(word)
#'beach'

print(word_centered)
##output: '              beach              '

Beachten Sie die Leerzeichen in der zweiten Zeichenfolge. Das Wort „Strand“ hat 5 Zeichen, was uns 28 Leerzeichen zum Füllen mit Leerzeichen gibt, 14 Leerzeichen davor und 14 danach, um das Wort zu zentrieren.

Die ursprüngliche Variable word bleibt unverändert, daher müssen wir die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall word_centered.

Der center() akzeptiert auch ein bestimmtes Zeichen als Parameter, um den verbleibenden Platz zu füllen.

word = 'beach'
number_chars = 33
char = '$'

word_centered = word.center(number_chars, char)

print(word)
#beach

print(word_centered)
#output: $$$$$$$$$$$$$$beach$$$$$$$$$$$$$$

Ähnlich wie in der ersten Situation habe ich 14 $ auf jeder Seite, sodass ich insgesamt 33 habe, wenn ich die 5 Zeichen zähle, die im Wort „Beach“ enthalten sind.

zfill(): So fügen Sie Nullen zu einem String in Python hinzu

Verwenden Sie zfill(), um Nullen 0 am Anfang einer Zeichenfolge einzufügen.

Die Anzahl der Nullen ergibt sich aus der als Argument übergebenen Zahl minus der Anzahl der Zeichen in der Zeichenfolge.

Das Wort „Beach“ hat 5 Zeichen, was uns 27 Leerzeichen gibt, die wir mit Nullen füllen können, um insgesamt 32 zu erhalten, wie in der Variablen size_string angegeben

word = 'beach'
size_string = 32

word_zeros = word.zfill(size_string)

print(word)
#beach

print(word_zeros)
#000000000000000000000000000beach

Die ursprüngliche Variable word bleibt unverändert, daher müssen wir die Rückgabe der Methode einer neuen Variablen zuweisen, in diesem Fall word_zeros.

Beachten Sie außerdem, dass sich nichts ändert, wenn das Argument kleiner als die Anzahl der Zeichen in der Zeichenfolge ist.

Im Beispiel unten hat „Beach“ 5 Zeichen und wir möchten Nullen hinzufügen, bis der size_string von 4 erreicht ist, was bedeutet, dass nichts getan werden muss.

word = 'beach'
size_string = 4

word_zeros = word.zfill(size_string)

print(word)
#beach

print(word_zeros)
#'beach'

find(): So überprüfen Sie in Python, ob ein String einen bestimmten Teilstring hat

Verwenden Sie die Methode find(), um zu überprüfen, ob eine Zeichenfolge eine bestimmte Teilzeichenfolge enthält.

Die Methode gibt den Index des ersten Vorkommens des angegebenen Werts zurück.

Denken Sie daran, dass die Indexzählung bei 0 beginnt.

phrase = "This is a regular text"

print(phrase.find('This'))

print(phrase.find('regular'))

print(phrase.find('text'))
0
10
18

Wenn der Wert nicht gefunden wird, wird -1 zurückgegeben.

phrase = "This is a regular text"

print(phrase.find('train'))
-1

Sie können die Suche auch an einer bestimmten Position beginnen und an einer anderen bestimmten Position der Zeichenfolge beenden.

phrase = "This is a regular text"

#look for in 'This is', the rest of the phrase is not included
print(phrase.find('This', 0, 7))

#look for in 'This is a regular'
print(phrase.find('regular', 0, 17))

#look for in 'This is a regul'
print(phrase.find('a', 0, 15))
0
10
8

So entfernen Sie ein Präfix oder Suffix in einer Zeichenfolge in Python

Ab Python 3.9 verfügt der String-Typ über zwei neue Methoden.

Sie können ein Präfix gezielt aus einer Zeichenfolge entfernen, indem Sie die Methode removeprefix() verwenden:

>>> 'Rio de Janeiro'.removeprefix("Rio")
' de Janeiro'

Oder entfernen Sie ein Suffix mit der Methode removesuffix():

>>> 'Rio de Janeiro'.removesuffix("eiro")
'Rio de Jan'

Übergeben Sie einfach als Argument den Text, der als zu entfernendes Präfix oder Suffix betrachtet werden soll, und die Methode gibt als Ergebnis eine neue Zeichenfolge zurück.

Wenn Sie neugierig sind, wie diese Funktionen zur Sprache hinzugefügt werden, empfehle ich Ihnen, den PEP 616 in der offiziellen Dokumentation zu lesen.

Dies ist eine ziemlich einfache Änderung und für Anfänger sehr hilfreich, damit sie sich an das Lesen der offiziellen Dokumentation gewöhnen können.

lstrip() vs. Removeprefix() und rstrip() vs. Removesuffix()

Das sorgt bei vielen Menschen für Verwirrung.

Es ist leicht, sich lstrip() und removeprefix() anzuschauen und sich zu fragen, was der wahre Unterschied zwischen den beiden ist.

Bei Verwendung von lstrip() besteht das Argument aus einer Reihe von führenden Zeichen, die so oft entfernt werden, wie sie vorkommen:

>>> word = 'hubbubbubboo'
>>> word.lstrip('hub')
'oo'

Während removeprefix() nur die genaue Übereinstimmung entfernt:

>>> word = 'hubbubbubboo'
>>> word.removeprefix('hub')
'bubbubboo'

Sie können die gleiche Begründung verwenden, um zwischen rstrip() und removesuffix() zu unterscheiden.

>>> word = 'peekeeneenee'
>>> word.rstrip('nee')
'peek'
>>> word = 'peekeeneenee'
>>> word.removesuffix('nee')
'peekeenee'

Und als Bonus – nur für den Fall, dass Sie noch nie mit regulären Ausdrücken gearbeitet haben: Seien Sie dankbar, dass Sie über strip() verfügen, um Zeichensätze aus einer Zeichenfolge anstelle eines regulären Ausdrucks zu entfernen:

>>> import re
>>> word = 'amazonia'
>>> word.strip('ami')
'zon'
>>> re.search('^[ami]*(.*?)[ami]*$', word).group(1)
'zon'

So funktioniert Slicing in Python

Slicing ist eines der nützlichsten Werkzeuge in der Python-Sprache.

Daher ist es wichtig, ein gutes Verständnis dafür zu haben, wie es funktioniert.

Grundlegende Slicing-Notation

Nehmen wir an, wir haben ein Array namens „list“.

list[start:stop:step]
  • start: wo das Schneiden beginnen soll
  • stop: bis dorthin, wo das Schneiden erfolgen soll, aber denken Sie daran, dass der Wert von stop nicht enthalten ist
  • Schritt: Wenn Sie ein Element überspringen möchten, ist der Standardwert 1, sodass Sie alle Elemente im Array durchgehen

Indizes

Beim Slicing sind die Indizes Punkte zwischen den Zeichen, nicht auf den Zeichen.

Für das Wort „Film“:

 +---+---+---+---+---+
 | m | o | v | i | e |
 +---+---+---+---+---+
 0   1   2   3   4   5 
-5  -4  -3  -2  -1  

Wenn ich von 0 bis 2 schneide, erhalte ich im obigen Beispiel „mo“ und nicht „mov“.

Da es sich bei einem String nur um eine Liste von Zeichen handelt, gilt das Gleiche auch für eine Liste:

my_list = [1, 2 , 3, 4, 5]

Wird :

 +---+---+---+---+---+
 | 1 | 2 | 3 | 4 | 5 |
 +---+---+---+---+---+
 0   1   2   3   4   5 
-5  -4  -3  -2  -1  

Beispiele für Slicing in Python

Wir haben eine Variable, die die Zeichenfolge „Film“ enthält, etwa so:

word = 'movie'

Alle folgenden Beispiele werden auf dieses Wort angewendet.

Beispiel 1

So erhalten Sie die ersten beiden Zeichen:

sliced = word[:2]
print(sliced)
mo

Beachten Sie, dass wir 0 hätten verwenden können, um den Anfang zu kennzeichnen, aber das ist nicht notwendig.

Beispiel 2

Der letzte Punkt:

sliced = word[-1]
print(sliced)
e

Beispiel 3

Überspringen von Buchstaben im 2er-Schritt:

sliced = word[::2]
print(sliced)
mve

So kehren Sie einen String in Python um

Um eine Zeichenfolge umzukehren, verwenden Sie die Slice-Syntax:

my_string = "ferrari"

my_string_reversed = my_string[::-1]

print(my_string)

print(my_string_reversed)
ferrari

irarref

Mit der Slice-Syntax können Sie einen Schritt festlegen, der im Beispiel -1 ist.

Der Standardschritt ist 1, d. h. es wird jeweils ein Zeichen der Zeichenfolge vorwärts gesprungen.

Wenn Sie den Schritt auf -1 setzen, ist das Gegenteil der Fall: Gehen Sie jeweils um ein Zeichen zurück.

Sie beginnen also an der Position des letzten Zeichens und bewegen sich rückwärts zum ersten Zeichen an Position 0.

Das ist es!

Herzlichen Glückwunsch zum Erreichen des Endes.

Ich möchte Ihnen dafür danken, dass Sie diesen Artikel gelesen haben.

Wenn Sie mehr erfahren möchten, schauen Sie sich meinen Blog renanmf.com an.

Denken Sie daran, eine PDF-Version dieses Python-String-Manipulationshandbuchs herunterzuladen.

Sie können mich auch auf Twitter finden: @renanmouraf.