Analizza una stringa in Java

  1. Usa il metodo split per analizzare una stringa in Java
  2. Usa Scanner per analizzare una stringa in Java
  3. Usa StringUtils per analizzare una stringa in Java

Questo tutorial spiega come analizzare una stringa in Java utilizzando vari metodi. L’analisi è il processo di prendere una stringa e elaborarla per estrarre le informazioni.

Usa il metodo split per analizzare una stringa in Java

Il metodo split() della classe String funziona dividendo la stringa sorgente mantenendo invariata la stringa originale e restituisce un array di sottostringhe della stringa originale. Questo metodo ha due varianti.

Il metodo split(String regex) accetta un’espressione regolare di tipo stringa come argomento e divide la stringa attorno alle corrispondenze dell’espressione regolare. Se l’espressione regolare non riesce a trovare una corrispondenza con nessuna parte della stringa originale, restituisce un array con un elemento: la stringa di origine.

Il metodo split(String regex, int limit) funziona allo stesso modo ma accetta limit, che significa quante stringhe devono essere restituite. Se il limite è negativo, l’array restituito può contenere quante più sottostringhe possibile quando il limite è 0. L’array conterrà tutte le sottostringhe, escluse le stringhe vuote finali.

public class StringTest {
    public static void main(String args []){
        String source1 = "March032021";
        String [] returnedArray1 = source1.split("\\d+");
        for(String str1 :  returnedArray1){
            System.out.println(" Output1 : "+str1);
        }
        String source2 = "950-003-123-900-456 : 11 _343-1 789----";
        String [] returnedArray2 = source2.split("-",4);
        for(String str2 :  returnedArray2){
            System.out.println(" Output2 : "+str2);
        }

    }
}

Produzione:

Output1 : March
 Output2 : 705
 Output2 : 103
 Output2 : 102
 Output2 : 456-123 : 112 _343-1 789----

Usa Scanner per analizzare una stringa in Java

Scanner è generalmente usato per analizzare tipi e stringhe primitive usando un’espressione regolare. Suddivide l’input in token utilizzando un modello delimitatore che corrisponde a uno spazio bianco predefinito.

Creiamo uno scanner con un oggetto stringa specificato. Il metodo useDelimiter() della classe Scanner viene utilizzato per impostare il modello delimitatore. Possiamo passare un oggetto Pattern o una stringa come modello. Per ottenere tutti i token della stringa, eseguiamo un ciclo tra i token utilizzando il metodo hasNext() e stampiamo l’output.

import java.util.Scanner;
public class StringTest {
    public static void main (String args[]){
        String text = "John Evans was born on 25-08-1980";
        Scanner scanner = new Scanner(text);
        scanner.useDelimiter("born");
        while (scanner.hasNext()){
            System.out.println("Output is : "+scanner.next());
        }
    }
}

Produzione:

Output is : John Evans was 
Output is :  on 25-08-1980

Usa StringUtils per analizzare una stringa in Java

La classe StringUtils di Apache Commons fornisce strumenti che facilitano il lavoro con le stringhe. Di seguito viene fornita la dipendenza Maven per aggiungere questa libreria.

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
</dependency>

Usiamo il metodo substringBetween(String str, String open, String close) della classe StringUtils per analizzare una data stringa. Questo metodo estrae una sottostringa nidificata tra due stringhe.

import org.apache.commons.lang3.StringUtils;

public class StringTest {
    public static void main(String args[]) {
        String source = "The crazy brown dog jumps over the fence";
        String[] stringArray = StringUtils.substringsBetween(source, "crazy", "over");
        for (String s : stringArray) {
            System.out.println("Output : " + s);
        }
    }
}

Produzione:

Output :  brown dog jumps 

Articolo correlato - Java String

  • Esegui l'interpolazione di stringhe in Java
  • Aggiungi carattere alla stringa in Java