Corso C-C++ ITA - 4 Esercizio: stringhe.
Sommario:
- Operatori di confronto
- Controlla se una stringa contiene una sottostringa
- Controlla se una stringa è vuota
- Confronto delle stringhe con l'operatore del caso
- Confronto lessicografico
- Conclusione
Quando si scrivono script Bash, è spesso necessario confrontare due stringhe per verificare se sono uguali o meno. Due stringhe sono uguali quando hanno la stessa lunghezza e contengono la stessa sequenza di caratteri.
Questo tutorial descrive come confrontare le stringhe in Bash.
Operatori di confronto
Gli operatori di confronto sono operatori che confrontano valori e restituiscono vero o falso. Quando si confrontano le stringhe in Bash è possibile utilizzare i seguenti operatori:
-
string1 = string2
estring1 == string2
- L'operatore di uguaglianza restituisce vero se gli operandi sono uguali.- Utilizzare l'operatore
=
con iltest
; then echo "Strings are equal." else echo "Strings are not equal." fi
; then echo "Strings are equal." else echo "Strings are not equal." fi
Quando lo script viene eseguito, verrà stampato il seguente output.
Strings are equal.
Ecco un altro script che accetta l'input dell'utente e confronta le stringhe fornite. In questo esempio, useremo il
]; then echo "Strings are equal." else echo "Strings are not equal." fi
]; then echo "Strings are equal." else echo "Strings are not equal." fi
Esegui lo script e inserisci le stringhe quando richiesto:
Enter first string: Linuxize Enter second string: Ubuntu Strings are not equal.
Puoi anche usare la logica e
&&
e o||
per confrontare le stringhe:] && echo "Equal" || echo "Not equal"
Controlla se una stringa contiene una sottostringa
Esistono diversi modi per verificare se una stringa contiene una sottostringa.
Un approccio consiste nell'utilizzare circondare la sottostringa con simboli asterisco
*
che significa che corrispondono a tutti i caratteri.#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fi
Lo script farà eco a quanto segue:
It's there.
Un'altra opzione è quella di utilizzare l'operatore regex
=~
come mostrato di seguito:#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fi
Il periodo seguito da un asterisco
.*
Corrisponde a zero o più occorrenze a qualsiasi carattere tranne un carattere di nuova riga.Controlla se una stringa è vuota
Molto spesso dovrai anche verificare se una variabile è una stringa vuota o meno. Puoi farlo usando gli operatori
-n
e-z
.#!/bin/bash VAR='' if]; then echo "String is empty." fi
String is empty.
#!/bin/bash VAR='Linuxize' if]; then echo "String is not empty." fi
Confronto delle stringhe con l'operatore del caso
Invece di usare gli operatori di test puoi anche usare l'istruzione case per confrontare le stringhe:
#!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched";; Fedora | CentOS) echo -n "Red Hat";; esac
Confronto lessicografico
Il confronto lessicografico è un'operazione in cui due stringhe vengono confrontate in ordine alfabetico confrontando i caratteri in una stringa in sequenza da sinistra a destra. Questo tipo di confronto viene usato raramente.
I seguenti script confrontano due stringhe lessicograficamente:
#!/bin/bash VAR1="Linuxize" VAR2="Ubuntu" if]; then echo "${VAR1} is lexicographically greater then ${VAR2}." elif]; then echo "${VAR2} is lexicographically greater than ${VAR1}." else echo "Strings are equal" fi
Lo script genererà quanto segue:
Ubuntu is lexicographically greater than Linuxize.
Conclusione
Il confronto delle stringhe è una delle operazioni più basilari e utilizzate di frequente negli script Bash. Dopo aver letto questo tutorial, dovresti avere una buona conoscenza di come confrontare le stringhe in Bash. Puoi anche consultare la nostra guida sulla concatenazione di stringhe.
bash terminal
- Utilizzare l'operatore
Come confrontare due documenti in ms word 2007 o 2010
Scopri come confrontare rapidamente due documenti in MS Word 2007 o 2010.
Stringhe concatenate di Bash
La concatenazione di stringhe è solo una parola di programmazione elaborata per unire le stringhe aggiungendo una stringa alla fine di un'altra stringa. In questo tutorial spiegheremo come concatenare le stringhe in Bash.
Come convertire stringhe in numeri interi in Python
Spesso quando si scrive il codice Python, è necessario convertire un tipo di dati in un altro. In Python puoi convertire una stringa in numero intero usando la funzione build (in int).