/ / Java Splitting String con parole chiave: java, regex, string, split

Stringa di suddivisione Java con parole chiave: java, regex, string, split

Sto avendo problemi nel dividere la seguente stringa.

String str = "eat big mac .at East MacDonald .from onwards";

Voglio che il risultato sia

[ eat big mac, .at, East MacDonald, .from, onwards]

Non posso dividere per spazio o punto, c'è un modo in cui posso dividerlo?

risposte:

3 per risposta № 1

Puoi avvolgere le tue parole chiave usando un token speciale (o delimitatore) e quindi dividere usando questo delimitatore:

String str = "eat big mac .at East MacDonald .from onwards";
String[] arr = str.replaceAll("(\.\w+)", "DELIMITER$1DELIMITER").split("DELIMITER");

Questo produce output:

[eat big mac , .at, East MacDonald , .from, onwards]


0 per risposta № 2

Puoi sempre usare il metodo split () per ogni stringa che usi.

String str = "eat big mac .at East MacDonald .from onwards";
String[] spaceDelimitedStr = str.split(" ");
String[] dotDelimitedStr = str.split("\.");
String[] commaDelimitedStr = str.split(",");

e poiché l'input della funzione di divisione è un'espressione regolare, puoi fornire tutti i tipi di delimitazioni

Per il risultato che stai cercando sarà molto difficile ottenere quello che vuoi, posso chiederti perché hai bisogno che questo sia così com'è?