metodi:
length:
var.length()
upper/lower case:
var.toLowercase()
var.toUppercase()
si ottiene una nuova stringa minuscola o maiuscola (la stringa originale non viene modificata).
indexing:
è possibile ottenere il k-esimo carattere di una stringa
char c = var.charAt(k);
slicing:
String s = var.substring(startIndex, endIndex);
- startIndex incluso, endIndex escluso
concatenazione:
- due metodi:
+
econcat
String s3 = s1+s2;
String s4 = s1.concat(s2);
- se si devono concatenare molte stringhe, si può usare la classe
StringBuilder
, con metodiappend(String s)
einsert(int posizione, String s)
StringBuilder sb = new StringBuilder();
sb.append(s1).append(s2);
String s5 = sb.toString();
cercare:
si può cercare la prima posizione di un carattere o di una sottostringa con indexOf
int k = "happy happy birthday".indexOf('a');
//ritorna 1
int j = "din din don don".indexOf("don");
//ritorna 8
attenzione!
se il carattere/la stringa non è presente, ritornerà -1
anche Java implementa i metodi startsWith
e endsWith
.
var.startsWith("hel")
si può vedere se una stringa contiene una sottostringa con il metodo contains()
String myStr = "Hello";
System.out.println(myStr.contains("Hel"));
sostituire:
Java implementa il metodo replace
, che sostituisce tutte le occorrenze di un carattere o di una stringa.
var.replace(torepl, replwith);
String s1 = "uno_due_tre".replace('_', ' ');
//ritorna "uno due tre"
confrontare:
le stringhe (e tutti gli altri oggetti) vanno sempre confrontate con il metodo equals
.
- l’operatore == confronta il riferimento (memoria) quindi dà
True
solo se si confrontano gli stessi oggetti. - l’operatore
equals
confronta la stringa carattere per carattere e restituisceTrue
se le stringhe contengono la stessa sequenza di caratteri
split:
il metodo split
prende in input un’espressione regolare s e restituisce un array di sottostringhe separate da s.
String[] parole = "uno due tre".split(" ");
//parole contiene {"uno", "due", "tre"}