Estrazione di Informazioni dalle Stringhe in Java
Scorri per mostrare il menu
Quando si lavora con il testo nelle applicazioni reali, raramente è necessario l'intera stringa: la maggior parte delle volte serve solo una piccola parte. Un nome all'interno di un'email, un prodotto in un messaggio d'ordine o una parola chiave specifica nascosta in una frase. Java offre strumenti semplici ma potenti per estrarre esattamente ciò di cui abbiamo bisogno.
substring()
Se è necessario prendere una "fetta" di una stringa in base alle posizioni dei caratteri, utilizzare .substring(). Si basa sull'indicizzazione a partire da zero — il conteggio inizia da 0. Restituisce una nuova String.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String drinkName = order.substring(6, 11); System.out.println(drinkName); } }
substring(6, 11) indica a Java di iniziare dall'indice 6 (incluso) e fermarsi subito prima dell'indice 11 (escluso), estraendo così i caratteri nelle posizioni dalla 6 alla 10, ottenendo "Latte".
Se si utilizza substring(start) con un solo argomento, Java estrae tutto dal punto indicato fino alla fine della stringa:
order.substring(6); // "Latte with oat milk"
indexOf()
Per individuare dove si trova una specifica porzione di testo all'interno di una stringa, si utilizza .indexOf(). Invece di tagliare il testo, lo localizza. Restituisce un int che rappresenta l'indice iniziale della corrispondenza.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; int lattePosition = order.indexOf("Latte"); System.out.println(lattePosition); } }
Java scansiona la stringa da sinistra a destra fino a trovare "Latte" e restituisce la posizione del suo primo carattere — 6. Se il testo non viene trovato in nessuna parte della stringa, Java restituisce -1.
Combinazione di entrambi — Esempio reale
Questo esempio reale combina indexOf() e substring() per estrarre un nome utente da un indirizzo email.
Main.java
1234567891011121314package com.example; public class Main { public static void main(String[] args) { String customerEmail = "anna.coffee@gmail.com"; int atPosition = customerEmail.indexOf("@"); String username = customerEmail.substring(0, atPosition); System.out.println(username); } }
indexOf("@") trova la posizione del simbolo @, poi substring(0, atPosition) estrae tutto dall'inizio della stringa fino a — ma non incluso — il carattere @. Il risultato è "anna.coffee". Invece di inserire manualmente le posizioni, lasciamo che Java individui il limite ed estragga esattamente ciò che ci serve.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Estrazione di Informazioni dalle Stringhe in Java
Quando si lavora con il testo nelle applicazioni reali, raramente è necessario l'intera stringa: la maggior parte delle volte serve solo una piccola parte. Un nome all'interno di un'email, un prodotto in un messaggio d'ordine o una parola chiave specifica nascosta in una frase. Java offre strumenti semplici ma potenti per estrarre esattamente ciò di cui abbiamo bisogno.
substring()
Se è necessario prendere una "fetta" di una stringa in base alle posizioni dei caratteri, utilizzare .substring(). Si basa sull'indicizzazione a partire da zero — il conteggio inizia da 0. Restituisce una nuova String.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String drinkName = order.substring(6, 11); System.out.println(drinkName); } }
substring(6, 11) indica a Java di iniziare dall'indice 6 (incluso) e fermarsi subito prima dell'indice 11 (escluso), estraendo così i caratteri nelle posizioni dalla 6 alla 10, ottenendo "Latte".
Se si utilizza substring(start) con un solo argomento, Java estrae tutto dal punto indicato fino alla fine della stringa:
order.substring(6); // "Latte with oat milk"
indexOf()
Per individuare dove si trova una specifica porzione di testo all'interno di una stringa, si utilizza .indexOf(). Invece di tagliare il testo, lo localizza. Restituisce un int che rappresenta l'indice iniziale della corrispondenza.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; int lattePosition = order.indexOf("Latte"); System.out.println(lattePosition); } }
Java scansiona la stringa da sinistra a destra fino a trovare "Latte" e restituisce la posizione del suo primo carattere — 6. Se il testo non viene trovato in nessuna parte della stringa, Java restituisce -1.
Combinazione di entrambi — Esempio reale
Questo esempio reale combina indexOf() e substring() per estrarre un nome utente da un indirizzo email.
Main.java
1234567891011121314package com.example; public class Main { public static void main(String[] args) { String customerEmail = "anna.coffee@gmail.com"; int atPosition = customerEmail.indexOf("@"); String username = customerEmail.substring(0, atPosition); System.out.println(username); } }
indexOf("@") trova la posizione del simbolo @, poi substring(0, atPosition) estrae tutto dall'inizio della stringa fino a — ma non incluso — il carattere @. Il risultato è "anna.coffee". Invece di inserire manualmente le posizioni, lasciamo che Java individui il limite ed estragga esattamente ciò che ci serve.
Grazie per i tuoi commenti!