Pulizia dei dati in Java
Dennis Lee
Software Engineer
| Nome prodotto | Categoria | Stato | Data ricezione | Quantità |
|---|---|---|---|---|
| Eggplant | Frutta e Verdura | Fuori produzione | 3/1/25 | 46 |
| VEGETABLE OIL | Oli e Grassi | In arretrato | 4/1/25 | 51 |
| Cheese | Latticini | Attivo | 6/1/25 | 78 |
| Fresh (Organic) *Carrots* | Frutta e Verdura | Fuori produzione | 5/1/25 | 51 |
| Bell Pepper Fresh | Frutta e Verdura | Attivo | 5/2/25 | 67 |
String[] messyProducts = {
"Eggplant ", // Spazio extra alla fine
"VEGETABLE OIL", // Maiuscole/minuscole incoerenti
"Fresh (Organic) *Carrots*", // Caratteri speciali
"Bell Pepper Fresh", // Spazi extra tra le parole
};
String[] products = {"Eggplant ", " Vegetable Oil", " Cheese "};
for (String product : products) {
String cleaned = product.trim(); // Rimuove spazi iniziali/finali
System.out.println(cleaned);
}
Eggplant
Vegetable Oil
Cheese
List<String> products = Arrays.asList("Eggplant", "VEGETABLE OIL", "cheese");products.stream().map(String::toLowerCase) // Converti tutto in minuscolo.forEach(System.out::println); // Stampa ogni prodotto
eggplant
vegetable oil
cheese
[^a-zA-Z\\s]: trova qualsiasi carattere che non sia lettera o spazio// Questo pattern corrisponde a qualsiasi carattere che NON è:
[ // Inizio set di caratteri
^ // NON - corrisponde a ciò che non è nel set
a-z // qualsiasi lettera minuscola
A-Z // qualsiasi lettera maiuscola
\\s // qualsiasi spazio bianco (serve una \ extra per far interpretare \s a Java)
] // Fine set di caratteri
String dirtyName = "Fresh (Organic) *Carrots*"; // Caratteri speciali: (, ), *String cleaned = dirtyName.replaceAll("[^a-zA-Z\\s]", ""); // Rimuovi non lettereSystem.out.println(cleaned); // Output: "Fresh Organic Carrots"
Fresh Organic Carrots
import java.util.regex.Pattern;
Pattern pattern = Pattern.compile("\\s+"); // Trova spazi multipliString messyProduct = "Bell Pepper Fresh"; // Contiene spazi extra // Sostituisci spazi multipli con uno singolo String cleanedProduct = pattern.matcher(messyProduct).replaceAll(" ");System.out.println(cleanedProduct);
Bell Pepper Fresh
List<String> messyProducts = Arrays.asList(
"Eggplant ", "VEGETABLE OIL",
"Fresh (Organic) *Carrots*", "Bell Pepper Fresh"
); // Nomi prodotto estratti dal nostro dataset di inventario alimentare
messyProducts.stream()
.map(s -> s.trim() // Sistema spazi esterni
.replaceAll("[^a-zA-Z\\s]", "") // Rimuovi caratteri speciali
.replaceAll("\\s+", " ") // Sistema spazi interni
.toLowerCase()) // Uniforma il case
.forEach(System.out::println);
eggplant
vegetable oil
fresh organic carrots
bell pepper fresh
Pulizia dei dati in Java