Capitaliser la première lettre d'une chaîne de caractères en Python

Azaz Farooq 30 janvier 2023
  1. Mettre en majuscule la première lettre de la chaîne en Python en utilisant la méthode capitalize()
  2. Mettre en majuscules la première lettre de la chaîne en Python en utilisant la méthode title()
  3. Mettre en majuscule la première lettre de la chaîne en Python en utilisant la fonction capwords()
  4. Mise en majuscule de la première lettre de la chaîne de caractères en Python en utilisant la méthode regex
  5. Mettre en majuscule la première lettre d’une chaîne de caractères en Python en utilisant la méthode définie par l’utilisateur
Capitaliser la première lettre d'une chaîne de caractères en Python

Cet article traitera des méthodes pour mettre en majuscule la première lettre de la chaîne en Python. Nous discuterons également du scénario dans lequel un chiffre se trouve au début de la chaîne au lieu d’une lettre.

Mettre en majuscule la première lettre de la chaîne en Python en utilisant la méthode capitalize()

La méthode capitalize() de la classe de chaînes de caractères met en majuscules le premier caractère tandis que les autres caractères sont en minuscules. Elle ne fait rien si le premier caractère est déjà en majuscule.

L’exemple de code complet est donné ci-dessous.

string = "learn Python"
cap_string = string.capitalize()
print("The capitalized string is:", cap_string)

Production :

The capitalized string is: Learn python

Si le premier caractère de la chaîne est un chiffre, il ne mettra pas la première lettre en majuscule. Pour résoudre ce problème, nous pouvons utiliser la fonction isdigit().

L’exemple de code complet pour utiliser la fonction isdigit() est donné ci-dessous.

string = "5learn python"

for i, c in enumerate(string):
    if not c.isdigit():
        break

cap_string = string[:i] + string[i:].capitalize()

print("The capitalized string is:", cap_string)

Production :

The capitalized string is: 5Learn python

La fonction enumerate() fournit un compteur itérable de la chaîne de caractères et renvoie son objet énuméré. La fonction isdigit() vérifie si le caractère est un chiffre ou non. Elle interrompt la boucle for lorsqu’elle rencontre le premier caractère non numérique.

La string[:i] est la sous-chaîne des chiffres de tête, et string[i:].capitalize() convertit la première lettre de la chaîne restante en majuscule.

Mettre en majuscules la première lettre de la chaîne en Python en utilisant la méthode title()

La méthode title() permet de mettre chaque mot en chaîne. Cela signifie que le premier caractère de chaque mot est converti en majuscules, et les autres caractères du mot sont convertis en minuscules.

L’exemple de code complet est donné ci-dessous :

string = "learn python"
cap_string = string.title()
print("The capitalized string is:", cap_string)

Production :

The capitalized string is: Learn Python

Cette fonction mettra en majuscule la première lettre de chaque mot de la chaîne, quel que soit le chiffre présent au début du mot.

Mettre en majuscule la première lettre de la chaîne en Python en utilisant la fonction capwords()

C’est la fonction du module string. Il décompose la chaîne en mots et les rejoint en utilisant un séparateur spécifié après avoir mis chaque mot en majuscule. Le séparateur par défaut est l’espace blanc.

L’exemple de code complet est donné ci-dessous :

import string

strng = "learn python"
cap_strng = string.capwords(strng)
print("The capitalized string is:", cap_strng)

Production :

The capitalized string is: Learn Python

Mise en majuscule de la première lettre de la chaîne de caractères en Python en utilisant la méthode regex

Cette méthode permet également de mettre en majuscules la première lettre de chaque mot de la chaîne, tandis que tous les autres caractères sont en minuscules.

L’exemple de code complet est donné ci-dessous :

import re

string = "learn python"

string = re.sub("([a-zA-Z])", lambda x: x.groups()[0].upper(), string, 1)

print("The capitalized string is:", string)

Production :

The capitalized string is: Learn python

La fonction sub() du module d’expression régulière de Python remplace le modèle de chaîne [a-zA-Z], un alphabet en minuscules ou en majuscules, dans la chaîne donnée par la valeur de retour de la fonction lambda.

lambda x: x.groups()[0].upper() convertit le premier groupe correspondant dans l’expression régulière, le premier alphabet dans cet exemple, en majuscules. x est l’objet correspondant ici.

Nous devons mettre la première lettre en majuscule ; par conséquent, le count dans la fonction re.sub() est fixé à 1 pour effectuer le remplacement une seule fois.

Mettre en majuscule la première lettre d’une chaîne de caractères en Python en utilisant la méthode définie par l’utilisateur

Nous pouvons également créer une fonction définie par l’utilisateur pour mettre en majuscule la première lettre de la chaîne. Nous trouverons l’index, i, du premier alphabet et appliquerons la méthode upper() à la sous-chaîne string[:i]. Elle met en majuscule le premier alphabet de la chaîne même si les chiffres de tête existent.

L’exemple de code complet est donné ci-dessous.

def check_alphabets(strng):
    i = 0
    for c in strng:
        if c.isalpha():
            i = i + 1
            return i
        i = i + 1


def unchanged_characters(strng):
    i = check_alphabets(strng)
    return strng[:i].upper() + strng[i:]


strng = "0learn1python"

cap_string = unchanged_characters(strng)

print("The capitalized string is:", cap_string)

Production :

The capitalized string is: 0Learn1python

Article connexe - Python String