studio programacion móviles libros libro desarrollo desarrollar curso aprende aplicaciones java regex string replace

java - móviles - manual de programacion android pdf



Reemplazar la última parte de la cadena (9)

¿Qué pasa con la molestia si solo puede hacer esto

word = (String) word.subSequence(0, word.length() -1);

esto devuelve una nueva cadena sin la última parte de una cadena.

Quiero reemplazar la última cadena que es a , con )

Supongamos que la cadena es:

Insertar en dual (nombre, fecha,

para ser convertido a:

Insertar en dual (nombre, fecha)


El siguiente código debería reemplazar la última ocurrencia de un '','' con un '')'' .

StringBuilder b = new StringBuilder(yourString); b.replace(yourString.lastIndexOf(","), yourString.lastIndexOf(",") + 1, ")" ); yourString = b.toString();

Nota Esto arrojará Excepciones si la String no contiene un '','' .


Este es un método personalizado para reemplazar solo la última subcadena de una cadena dada. Te sería útil:

private String replaceLast(String string, String from, String to) { int lastIndex = string.lastIndexOf(from); if (lastIndex < 0) return string; String tail = string.substring(lastIndex).replaceFirst(from, to); return string.substring(0, lastIndex) + tail; }


La forma más legible ... que puede usar para aprender sobre String y sus funciones

String myString = "Insert into dual (name,date,"; String newString = ""; int length = myString.length(); String lastChar = myString.substring(length-1); if (lastChar.contains(",")) { newString = myString.substring(0,length-1) + ")"; } System.out.println(newString);


PARA reemplazar el último carácter de tu cuerda por )

str = str.substring(0, str.length()-1)+")";

Asegúrate de que tu cadena no esté vacía o nula.


Prueba esta expresión regular (^.+)b(.+$)

Ejemplo (Reemplazar el último carácter b )

System.out.println("1abchhhabcjjjabc".replaceFirst("(^.+)b(.+$)", "$1$2"));


Puedes usar expresiones regulares:

String aResult = "Insert into dual (name,date,".replaceAll(",$", ")");

replaceAll(...) coincidirá con string string con la expresión regular dada (parámetro 1) (en este caso coincidimos con el último carácter si se trata de una coma). El reemplazo con un reemplazo (parámetro 2) (en este caso es '' ) '').

¡Más! Si desea asegurarse de que se ocupen de los espacios de cola y las pestañas, simplemente puede cambiar la expresión regular a '' ,/[ /t/]*$ ''. NOTA '' /[ '' y '' /] '' es sin barra invertida (no sé cómo escabullirlo correctamente).

Espero que esto ayude.


Verifique la longitud de la cuerda, revise el último chasquido (si tiene la longitud que es fácil) y reemplácelo - cuando sea necesario. Esta solución no es lang. específico. solo usa un sentido común.


str = str.substring(0, str.lastIndexOf(",")) + ")";