texto de entrada:
inptext = "inp1(A, Var1), inp1(B,Var1)"Rendimiento esperado:
optext = "inp1(A, Var1)", "inp1(B,Var1)"Código:
String [] splitText = inptext.split(", "); for (String obj:splitText ) { System.out.println(obj); }Salida de corriente:
inp1(A Var1) . .Interpretando la salida actual:
optext = "inp1(A", "Var1)"Por favor, sugiérame cómo corregir esto.
Puede usar Regex lookahead para lograr esto, por ejemplo:
String inptext = "inp1(A, Var1), inp1(B,Var1)"; String[] tokens = inptext.split("(?<=\\)),\\s"); for(String token : tokens){ System.out.println(token); }si tiene espacio después de la coma en la entrada "like inp1", puede usar esto:
String inptext = "inp1(A, Var1), inp1(B,Var1)"; String[] tmp = inptext.split("\\), "); for (String a : tmp) { if (!a.substring(a.length()-1).equals(")")) a += ")"; System.out.println(a); }podría combinar String#substring y String#indexOf para recuperar los datos requeridos.
String inptext = "inp1(A, Var1), inp1(B,Var1)"; String firstResult = inptext.substring(0,inptext.lastIndexOf(", ")); String secondResult = inptext.substring(inptext.lastIndexOf(", ")).replace(", ","");