Analizza una stringa in Java
-
Usa il metodo
split
per analizzare una stringa in Java -
Usa
Scanner
per analizzare una stringa in Java -
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 bucle 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
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn