Ersten Buchstaben eines jeden Wortes in Python großschreiben

Muhammad Waiz Khan 30 Januar 2023
  1. Großschreibung des ersten Buchstabens jedes Wortes in Python mit der Methode string.title()
  2. Jedes Wort in Python mit der Methode string.capwords() großschreiben
  3. Jedes Wort in Python großschreiben mit den Methoden string.split() und string.join()
Ersten Buchstaben eines jeden Wortes in Python großschreiben

Dieses Tutorial erklärt verschiedene Methoden, um in Python den ersten Buchstaben jedes Wortes in einer Zeichenkette groß zu schreiben. Wenn wir eine Zeichenkette wie hey! what's up? haben und sie in Hey! What's Up? umwandeln wollen. Wir können dies tun, indem wir entweder eine verfügbare Methode verwenden oder jedes Wort der Zeichenkette trennen, den ersten Buchstaben jedes Wortes groß schreiben und dann die Zeichenkette wieder zusammenfügen.

Es kann auch sein, dass wir Zeichenketten wie hey... what's up? haben und den ursprünglichen Abstand der Zeichenkette beibehalten wollen. In diesem Lernprogramm werden wir uns die verschiedenen Methoden zur Lösung dieser Probleme ansehen.

Großschreibung des ersten Buchstabens jedes Wortes in Python mit der Methode string.title()

Die Methode string.title() ist eine eingebaute Methode, die eine Zeichenkette als Eingabe nimmt und die Zeichenkette mit dem ersten Buchstaben jedes Wortes in Großbuchstaben zurückgibt. Die Methode string.title() verändert nicht den ursprünglichen Abstand der Zeichenkette. Das folgende Codebeispiel demonstriert, wie die Methode string.title() verwendet wird, um jeden Buchstaben eines Wortes in Python groß zu schreiben.

string = "hey! what's up?"
print(string)
print(string.title())

Ausgabe:

Hey! What's up?
Hey! What'S Up?

Wie im obigen Beispiel zu erkennen ist, funktioniert die Methode string.title() nicht gut mit den Satzzeichen, da sie den Buchstaben nach den Satzzeichen groß schreibt.

Jedes Wort in Python mit der Methode string.capwords() großschreiben

Die Methode string.capwords(string, sep) des Moduls string nimmt die Zeichenkette als ersten Parameter und das sep als zweiten Parameter und gibt die Zeichenkette mit dem großgeschriebenen ersten Zeichen jedes Wortes zurück, getrennt auf der Basis des Parameters sep. Wenn dem Parameter sep kein Wert übergeben oder auf None gesetzt wird, werden die Leerzeichen als Trennzeichen verwendet, und ein einzelnes Leerzeichen ersetzt ein oder mehrere Leerzeichen.

Der folgende Beispielcode zeigt, wie die Methode string.capwords() verwendet wird, um jedes Wort der Zeichenkette groß zu schreiben:

import string

mystring = "hey!   what's up?"
print(mystring)
print(string.capwords(mystring))

Ausgabe:

hey!   what's up?
Hey! What's Up?

Das Problem bei dieser Methode ist, dass sie entweder Wörter wie 'hello' auslässt oder, wenn wir ' als sep-Parameter übergeben, what's zu what'S großschreibt, wie im Beispielcode unten gezeigt:

import string

mystring = "'hello'   what's up?"
print(mystring)
print(string.capwords(mystring))
print(string.capwords(mystring, sep="'"))

Ausgabe:

'hello'   what's up?
'hello' What's Up?
'Hello'   what'S up?

Jedes Wort in Python großschreiben mit den Methoden string.split() und string.join()

Die Methode string.split(separator,..) wandelt die Zeichenkette in eine Liste um, indem sie den angegebenen Wert des Parameters separator als Trennzeichen verwendet. Die Methode string.join(iterable) nimmt das iterable-Objekt als Eingabe und konvertiert es in eine Zeichenkette unter Verwendung des bereitgestellten Zeichenkettenarguments als Worttrennzeichen.

Der folgende Beispielcode demonstriert, wie die Methoden string.split() und string.join() verwendet werden, um den ersten Buchstaben eines jeden Wortes in Python groß zu schreiben.

import re

s = "'hello'   what's up?"
print(s)
slist = []
for word in s.split():
    if word[0] in ("'", '"', "("):
        word = word[0] + word[1].upper() + word[2:]
        slist.append(word)
    else:
        word = word[0].upper() + word[1:]
        slist.append(word)
    new_string = " ".join(slist)
print(new_string)

Ausgabe:

'hello'   what's up?
'Hello' What's Up?

Wie im obigen Beispiel zu sehen ist, kann diese Methode die Anführungszeichen, Possessiv-Nomen und die Wörter zwischen den Klammern verarbeiten. Aber der ursprüngliche Abstand der Zeichenkette geht bei dieser Methode verloren.

Verwandter Artikel - Python String