Ho una stringa come questa: "LODIXAL COMP 15"come dividere la stringa contiene numeri in java?
Come posso dividerlo in "LODIXAL COMP" e "15"?
String a = "LODIXAL COMP 15";
String[] result = {"LODIXAL COMP" , "15"}
Ho una stringa come questa: "LODIXAL COMP 15"come dividere la stringa contiene numeri in java?
Come posso dividerlo in "LODIXAL COMP" e "15"?
String a = "LODIXAL COMP 15";
String[] result = {"LODIXAL COMP" , "15"}
Utilizzare questa regex positive lookahead base:
a.split(" (?=\\d+)");
TEST:
System.out.println(Arrays.toString(a.split(" (?=\\d+)")));
USCITA:
[LODIXAL COMP, 15]
cosa con String a = "LODIXAL 12 3 COMP 15"; Uscita: [LODIXAL, 12, 3 COMP, 15] – smas
@smas Sì questa regex non funzionerà con la stringa, sarà necessario 'a.split (" (? = \\ d + $) ")' per quello. Posso modificare la risposta ma non sappiamo se OP può avere una stringa del genere nel suo codice. – anubhava
c'è un'altra situazione come questa: String a = "ACEDICON COMP 1 X 5 MG" e dovrebbe essere suddivisa in "ACEDICON COMP 1" e "X 5 MG". Come posso farlo? – michdraft
Si prega di leggere [questo] (http://docs.oracle.com/javase/tutorial/essential/regex/) – mre
Qual è il criterio esatto per la posizione della divisione? La prima stringa restituita può contenere mai cifre? – NPE
rispondere alla domanda di @ aix ti aiuterà a creare una buona risposta. Cosa vuoi ottenere: AAA BBB 2 3 CCC 4? [AAA BBB, 2, 3, CCC, 4]? – smas