Le stringhe sono sequenze di caratteri. Ad esempio, "Ciao!" è una stringa perché è composta dai caratteri 'H', 'e', 'l', 'l', 'o' e '!'. In Java, le stringhe sono oggetti, il che significa che esiste una classe String con campi e metodi. Possiamo usare i metodi della classe String per manipolare le stringhe.
Passi
Metodo 1 di 5: crea una stringa
Passaggio 1. Creare una stringa utilizzando il costruttore della classe String
String str = new String("Ciao!");
Passaggio 2. Creare una stringa assegnando direttamente una stringa
Passaggio 3. Prova un esempio
Ecco un programma di esempio che crea una stringa in due modi diversi.
public class StringManipulation { public static void main(String args) { String str1 = new String("Stringa creata con un costruttore!"); String str2 = "Stringa creata senza costruttore!"; System.out.println(str1); System.out.println(str2); } }
Metodo 2 di 5: trova la lunghezza di una stringa
Passaggio 1. Comprendi cosa significa trovare la lunghezza di una stringa
La lunghezza di una stringa è il numero di caratteri che contiene la stringa. Ad esempio, la lunghezza della stringa "Hello!" è 6 perché ha 6 caratteri.
Passaggio 2. Invocare il
lunghezza()
sull'oggetto String e memorizzare il risultato in una variabile intera.
int strLength = str.length();
Passaggio 3. Provalo
Ecco un programma di esempio che trova la lunghezza di una stringa.
public class StringManipulation { public static void main(String args) { String str = "Hello!"; int strLength = str.length(); System.out.println("La lunghezza di \"" + str + "\" è " + strLength + "."); } }
Metodo 3 di 5: invertire una stringa
Passaggio 1. Comprendi cosa significa invertire una stringa
Invertire una stringa significa cambiare l'ordine dei caratteri in una stringa. Ad esempio, il contrario della stringa "Hello!" è "!olleH". Esistono molti modi per invertire una stringa in Java.
Passaggio 2. Utilizzare il metodo inverso della classe StringBuffer
Crea un oggetto StringBuffer che accetta la stringa che vuoi invertire come parametro. Utilizzare il metodo reverse() di StringBuffer e quindi recuperare la stringa appena invertita utilizzando il metodo toString().
public class StringManipulation { public static void main(String args) { String str = "Hello!"; Buffer StringBuffer = new StringBuffer(str); String reversedStr = buffer.reverse().toString(); System.out.println("Il rovescio della stringa \"" + str + "\" è \"" + reversedStr + "\"."); } }
Passaggio 3. Iterare i caratteri in una stringa al contrario, aggiungendo questi caratteri a uno StringBuffer ad ogni iterazione
Crea un nuovo oggetto StringBuffer inizializzato con la lunghezza della stringa che desideri invertire come parametro. Quindi utilizzare un ciclo for per scorrere la stringa, partendo dall'ultimo carattere della stringa e finendo al primo carattere della stringa. Ad ogni iterazione, aggiungi il carattere a quell'indice allo StringBuffer. Recupera la stringa appena invertita usando il metodo toString().
public class StringManipulation { public static void main(String args) { String str = "Hello!"; Buffer StringBuffer = new StringBuffer(str.length()); for (int i = str.length() - 1; i >= 0; i--) { buffer.append(str.charAt(i)); } String reversedStr = buffer.toString(); System.out.println("Il rovescio della stringa \"" + str + "\" è \"" + reversedStr + "\"."); } }
Passaggio 4. Scrivere una funzione ricorsiva per invertire la stringa
Nella funzione ricorsiva, il caso base / condizione è se la stringa è nulla o se la lunghezza della stringa è minore o uguale a nessuno. Altrimenti, il metodo reverse() viene chiamato di nuovo con la stringa meno il primo carattere e il primo carattere viene aggiunto alla fine. Quindi, se passiamo la stringa "Hello!", la prima chiamata reverse() dopo quella avrà il parametro "ello!".
public class StringManipulation { public static void main(String args) { String str = "Hello!"; String reversedStr = reverse(str); System.out.println("Il rovescio della stringa \"" + str + "\" è \"" + reversedStr + "\"."); } private static String reverse(String str) { if (str == null || str.length() <= 1) return str; return reverse(str.substring(1)) + str.charAt(0); } }
Passaggio 5. Converti la stringa in un array di caratteri e quindi scambia il primo e l'ultimo, il secondo e il penultimo, ecc
caratteri. Prima converti la stringa in un array di caratteri usando il metodo toCharArray() sulla stringa. Ottieni l'indice dell'ultimo carattere nell'array, che è uguale alla lunghezza dell'array meno uno. Quindi scorrere l'array, scambiando ins carattere e l'indiceOfLastChar - ins carattere ad ogni iterazione. Infine, riconvertire l'array di caratteri in una stringa.
public class StringManipulation { public static void main(String args) { String str = "Hello!"; char charArray = str.toCharArray(); int indexOfLastChar = charArray.length - 1; for (int i = 0; i < charArray.length/2; i++) { char temp = charArray; charArray = charArray[indexOfLastChar - i]; charArray[indexOfLastChar - i] = temp; } String reversedStr = new String(charArray); System.out.println("Il rovescio della stringa \"" + str + "\" è \"" + reversedStr + "\"."); } }
Passaggio 6. Rivedere l'output
Ecco l'output che risulta da uno qualsiasi di questi metodi per l'inversione delle stringhe.
Metodo 4 di 5: ritaglia lo spazio bianco in una stringa
Passaggio 1. Comprendi cosa significa tagliare lo spazio bianco in una stringa
Tagliare una stringa in Java significa rimuovere lo spazio bianco iniziale e finale nella stringa. Ad esempio, se hai la stringa"
Ciao mondo!
" e vuoi che dica "Hello, world!" senza lo spazio bianco all'inizio e alla fine, puoi tagliare la stringa. La classe String fornisce un metodo per trim() che restituisce una copia della stringa con lo spazio bianco iniziale e finale rimosso o la stringa originale se non ha spazi bianchi iniziali o finali.
Passaggio 2. Utilizzare il metodo trim() della classe String su un oggetto String per tagliare lo spazio bianco
Si noti che il metodo trim() genererà un'eccezione se la stringa è nulla. Il metodo trim() non cambierà il contenuto della stringa originale perché le stringhe in Java sono immutabili, il che significa che lo stato di una stringa non può essere modificato dopo che è stata creata. Piuttosto, il metodo trim() restituirà una nuova stringa i cui spazi sono stati eliminati.
Stringa trimmedStr = str.trim();
Passaggio 3. Prova un esempio
Ecco un programma di esempio che taglia lo spazio bianco di una stringa:
public class StringManipulation { public static void main(String args) { String str = " Hello! "; Stringa trimmedStr = str.trim(); System.out.println("La stringa originale è \"" + str + "\"."); System.out.println("La stringa tagliata è \"" + trimmedStr + "\"."); } }
Metodo 5 di 5: dividere una stringa
Passaggio 1. Comprendi cosa significa dividere una stringa
Dividere una stringa in Java significa dividere una stringa da un certo delimitatore in un array di sottostringhe. Ad esempio, se divido la stringa "rosso, blu, verde, giallo, rosa" con una virgola come delimitatore, otterrei l'array { "rosso", "blu", "verde", "giallo", "rosa". " }. Ecco tre modi diversi per dividere una stringa.
Passaggio 2. Utilizzare
StringTokenizer
per tokenizzare la stringa.
Importare
java.util. StringTokenizer
. Quindi crea una nuova istanza di a
StringTokenizer
con la stringa da tokenizzare e il delimitatore come parametri. Se non inserisci il delimitatore come parametro, il delimitatore verrà automaticamente impostato su uno spazio bianco. Dopo che hai il
StringTokenizer
puoi usare il
nextToken()
metodo per ottenere ogni token.
import java.util. Array; import java.util. StringTokenizer; public class StringManipulation { public static void main(String args) { String str = "rosso, verde, blu, giallo, rosa"; StringTokenizer tokenizer = new StringTokenizer(str, ", "); int numberOfTokens = tokenizer.countTokens(); String splitArr = new String[numberOfTokens]; for (int i = 0; i < numberOfTokens; i++) { splitArr = tokenizer.nextToken(); } System.out.println("\nStringa originale: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }
Prima di Java 1.4, il
StringTokenizer
class è stata utilizzata per dividere le stringhe in Java. Ma ora, l'uso di
StringTokenizer
è scoraggiato e l'uso del
diviso()
metodo nel
Corda
classe o l'uso del
java.util.regex
Passaggio 3. Utilizzare il
Corda
di classe
diviso()
metodo.
Il
diviso()
il metodo prenderà il delimitatore come parametro e restituirà un array di sottostringhe che sono le stesse dei token dal
StringTokenizer
import java.util. Array; public class StringManipulation { public static void main(String args) { String str = "rosso, verde, blu, giallo, rosa"; String splitArr = str.split(", "); System.out.println("\nStringa originale: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }
Passaggio 4. Utilizzare le espressioni regolari per dividere la stringa
Importare
java.util.regex. Pattern
. Utilizzare il
compilare()
metodo del
Modello
class per impostare il delimitatore e quindi dare il
diviso()
metodo la stringa che si desidera dividere. Il
Modello
restituirà un array di sottostringhe.
import java.util. Array; import java.util.regex. Pattern; public class StringManipulation { public static void main(String args) { String str = "rosso, verde, blu, giallo, rosa"; String splitArr = Pattern.compile(", ").split(str); System.out.println("\nStringa originale: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }
Passaggio 5. Rivedi il tuo output
Ecco l'output che risulta da uno di questi metodi per dividere le stringhe.