Eliminare, sostituire, …

Eliminare

Consulta le funzioni s1.replace(s2,s3) e s1.replace(s2,s3,n)

Crea una copia di s senza le occorrenze del carattere c

  • Estrae ciascun carattere, cc=s[i]
  • Se cc è diverso da c lo concatena a ss
  • Restituisce la “copia”
def elimina(s, c): 
    ss="" 
    for cc in s: 
        if(cc != c): 
            ss=ss+cc 
    return ss

Se confronta le versioni maiuscole…

def eliminaLettera(s, c): 
    ss="" 
    for cc in s: 
        if(cc.upper() != c.upper()): 
            ss=ss+cc 
    return ss

Utilizza il ciclo while per rendere esplicite tutte le operazioni…

def elimina(s, c): 
    n=len(s) 
    ss="" 
    i=0 
    while(i < n): 
        cc=s[i] 
        if(cc != c): 
            ss=ss+cc 
        i+=1 
    return ss

Per eliminare solo la prima occorrenza…

def elimina(s, c): 
    n=len(s) 
    ss="" 
    i=0 
    while(i < n) and (s[i] != c): 
        ss=ss+s[i] 
        i+=1 
    i+=1 
    while(i < n): 
        ss=ss+s[i] 
        i+=1 
    return ss

Sostituire

Consulta le funzioni s1.replace(s2,s3) e s1.replace(s2,s3,n)

Crea una copia della stringa sostituendo le occorrenze di c1 con c2

def sostituisci(s, c1, c2): 
    ss="" 
    for cc in s: 
        if(cc != c1): 
            ss+=cc 
        else 
            ss+=c2 
    return ss

Eliminare gli spazi

Consulta le funzioni s.strip(), s.lstrip(), s.rstrip()

Tutti gli spazi

def eliminaSpazi(s, c): 
    ss="" 
    for cc in s: 
        if(cc != ' '): 
            ss=ss+cc 
    return ss

Gli spazi iniziali, a sinistra

def eliminaSpaziS(s): 
    n=len(s) 
    p=0 
    while(p < n) and (s[p] == ' '): 
        p+=1 
    ss="" 
    for i in range(p, n): 
        ss+=s[i] 
    return ss

Gli spazi finali, a destra

Gli spazi iniziali e finali