Stringhe in Java
Definire una stringa
String titolo = "Lezione sulle stringhe";
.
Definire una stringa in Java
Il modo più semplice e diretto per
creare un oggetto di tipo String è
assegnare alla variabile un insieme di
caratteri racchiusi fra virgolette:
Inizializzazione delle stringhe
public void initString() {
// Inizializzazione con una new
String titolo = new String("Titolo dell'opera");
// Inizializzazione che fa uso di un array di caratteri
char[] arraySottotitolo =
{'s','o','t','t','o','t','i','t','o','l','o','!'};
String sottotitolo = new String(arraySottotitolo);
}
Oltre alla modalità “literal”,
poiché si tratta comunque di
oggetti, le variabili di tipo String
possono essere inizializzate
anche utilizzando la
keyword new e un costruttore
come si vede nell’esempio.
public void printLength() {
String descrizione = "Articolo sulle stringhe ...";
int length = descrizione.length();
Ottenere la lunghezza
della stringa
Metodo
length()
METODO
System.out.println("Lunghezza: "+length);
}
è
un
Concatenare stringhe con l’operatore +
String str1 = "Nome";
String str2 = "Cognome";
String str3 = str1+str2;
String titolo = "I promessi Sposi";
String a = titolo.substring(2); // a vale "promessi Sposi"
String b = titolo.substring(12); // b vale "Sposi"
String c = titolo.substring(2,9); // c vale "promessi"
Estrarre sottostringhe
Per prelevare e manipolare solo una
porzione di una stringa possiamo utilizzare
il metodosubstring, presente in 2 forme
(overloaded):
String substring(int beginIndex);
String substring(int beginIndex, int endIndex);
Alcuni Metodi
Attenzione al metodo equals
Class StringTokenizer
A cosa serve ?
▪ StringTokenizer serve per estrarre via via"pezzi" (parole) dalla stringa
data
▪ Si può configurare specificando quali caratteripossono fungere da
separatori.
Come funziona
La classe StringTokenizer mette a disposizione 3 costruttori, le forme generali sono
elencate di sseguito:
StringTokenizer(String str);
StringTokenizer(String str, String delimiters);
StringTokenizer(String str, String delimiters, boolean delimAsTokens);
In tutte e 3 le forme str è la stringa da analizzare, nel secondo costruttore
sovraccaricato delimiters corrisponde ad un elenco di delimitatori (la fine del token);
se non viene specificato alcun token verrà utilizzato quello di default. La terza forma
permette di restituire i token se delimAsToken è true, altrimenti non verranno
restituiti.
Se non vengono specificati, i delimitatori di default utilizzati sono: spazio,
tabulazione, ritorno a capo e nuova riga.
Esempio base
import java.util.StringTokenizer;
class DemoStringTokenizer {
public static void main(String args[]) {
// Stringa da spezzettare
String str = "SoloPc, tutto sui pc";
// Creiamo un istanza di StringTokenizer
// utilizzando il set di delimitatori di default
StringTokenizer st = new StringTokenizer(str);
/*
* Per controllare la presenza di token utilizziamo il metodo
* hasMoreTokens() che restituisce true in caso essi siano presenti
* false altrimenti.
*/
System.out.println("nEsempio di elaborazione di una stringa utilizzando i token predefiniti:n");
while(st.hasMoreTokens()) {
String token1 = st.nextToken();
System.out.println(token1+"tLength of token is: "+token1.length());
}
} }