5 modi per manipolare le stringhe in Java

Sommario:

5 modi per manipolare le stringhe in Java
5 modi per manipolare le stringhe in Java

Video: 5 modi per manipolare le stringhe in Java

Video: 5 modi per manipolare le stringhe in Java
Video: Come avere Microsoft OFFICE 365 GRATIS per SEMPRE Legalmente | Senza Crack o Licenze 2023 2024, Aprile
Anonim

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

3016567 1 1
3016567 1 1

Passaggio 1. Creare una stringa utilizzando il costruttore della classe String

    String str = new String("Ciao!");

3016567 2 1
3016567 2 1

Passaggio 2. Creare una stringa assegnando direttamente una stringa

3016567 3 1
3016567 3 1

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.

3016567 5 1
3016567 5 1

Passaggio 2. Invocare il

lunghezza()

sull'oggetto String e memorizzare il risultato in una variabile intera.

    int strLength = str.length();

3016567 6 1
3016567 6 1

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

3016567 7
3016567 7

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.

3016567 8 1
3016567 8 1

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 + "\"."); } }

3016567 9 1
3016567 9 1

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 + "\"."); } }

3016567 10 1
3016567 10 1

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); } }

3016567 11 1
3016567 11 1

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 + "\"."); } }

3016567 12 1
3016567 12 1

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

3016567 13
3016567 13

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.

3016567 14 1
3016567 14 1

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

3016567 16
3016567 16

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.

3016567 17 1
3016567 17 1

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

  • pacchetto è incoraggiato.
3016567 18 1
3016567 18 1

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"); } }

3016567 19 1
3016567 19 1

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"); } }

3016567 20 1
3016567 20 1

Passaggio 5. Rivedi il tuo output

Ecco l'output che risulta da uno di questi metodi per dividere le stringhe.

Consigliato: