Capitalizzare la prima lettera di una stringa in Python

Azaz Farooq 30 marzo 2021
  1. Scrivere in maiuscolo la prima lettera della stringa in Python usando il metodo capitalize()
  2. Scrivere in maiuscolo la prima lettera della stringa in Python usando il metodo title()
  3. Scrivi in ​​maiuscolo la prima lettera della stringa in Python usando la funzione capwords()
  4. Scrivi in ​​maiuscolo la prima lettera della stringa in Python usando il metodo regex
  5. Scrivi in ​​maiuscolo la prima lettera della stringa in Python utilizzando il metodo definito dall’utente
Capitalizzare la prima lettera di una stringa in Python

Questo articolo discuterà i metodi per rendere maiuscola la prima lettera della stringa in Python. Discuteremo anche lo scenario in cui una cifra è all’inizio della stringa invece di una lettera.

Scrivere in maiuscolo la prima lettera della stringa in Python usando il metodo capitalize()

Il metodo capitalize() della classe stringa rende maiuscolo il primo carattere mentre i caratteri rimanenti sono minuscoli. Non fa nulla se il primo carattere è già in maiuscolo.

Di seguito viene fornito il codice di esempio completo.

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

Produzione:

The capitalized string is: Learn python

Se il primo carattere della stringa è una cifra, la prima lettera non sarà maiuscola. Per risolvere questo problema, possiamo usare la funzione isdigit().

Di seguito viene fornito il codice di esempio completo per utilizzare la funzione isdigit().

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)

Produzione:

The capitalized string is: 5Learn python

La funzione enumerate() fornisce un contatore iterabile della stringa e restituisce il suo oggetto enumerato. isdigit() controlla se il carattere è una cifra o meno. Interrompe il cicli for quando incontra il primo carattere non numerico.

La string[:i] è la sottostringa delle cifre iniziali e string[i:].capitalize() converte la prima lettera della stringa rimanente in maiuscolo.

Scrivere in maiuscolo la prima lettera della stringa in Python usando il metodo title()

Il metodo title() abilita il titolo di ogni parola in maiuscolo. Significa che il primo carattere di ogni parola viene convertito in maiuscolo e i caratteri rimanenti della parola vengono convertiti in minuscolo.

Di seguito viene fornito il codice di esempio completo:

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

Produzione:

The capitalized string is: Learn Python

Questa funzione renderà maiuscola la prima lettera di ogni parola nella stringa, indipendentemente dalla cifra presente all’inizio della parola.

Scrivi in ​​maiuscolo la prima lettera della stringa in Python usando la funzione capwords()

È la funzione del modulo string. Spezza la stringa in parole e le ricongiunge utilizzando un separatore specificato dopo aver capitalizzato ogni parola. Il separatore predefinito è lo spazio bianco.

Di seguito viene fornito il codice di esempio completo:

import string

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

Produzione:

The capitalized string is: Learn Python

Scrivi in ​​maiuscolo la prima lettera della stringa in Python usando il metodo regex

Questo metodo renderà anche maiuscola la prima lettera di ogni parola nella stringa mentre tutti i caratteri rimanenti saranno minuscoli.

Di seguito viene fornito il codice di esempio completo:

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)

Produzione:

The capitalized string is: Learn python

La funzione sub() del modulo delle espressioni regolari di Python sostituisce il modello di stringa [a-zA-Z], un alfabeto minuscolo o maiuscolo, nella stringa data con il valore di ritorno della funzione lambda.

lambda x: x.groups()[0].upper() converte il primo gruppo corrispondente nell’espressione regolare, il primo alfabeto in questo esempio, in maiuscolo. x è l’oggetto corrispondente qui.

Dobbiamo scrivere in maiuscolo la prima lettera; pertanto, il count nella funzione re.sub() è impostato a 1 per effettuare la sostituzione una sola volta.

Scrivi in ​​maiuscolo la prima lettera della stringa in Python utilizzando il metodo definito dall’utente

Possiamo anche creare una funzione definita dall’utente per rendere maiuscola la prima lettera della stringa. Troveremo l’indice, i, del primo alfabeto e applicheremo il metodo upper() alla sottostringa string[:i]. Mette in maiuscolo il primo alfabeto della stringa anche se esistono le cifre iniziali.

Di seguito viene fornito il codice di esempio completo.

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)

Produzione:

The capitalized string is: 0Learn1python

Articolo correlato - Python String