java - posicion - Reemplazar la última aparición de un carácter en una cadena
java reemplazar caracteres especiales (4)
Esto debería funcionar:
String replaceLast(String string, String substring, String replacement)
{
int index = string.lastIndexOf(substring);
if (index == -1)
return string;
return string.substring(0, index) + replacement
+ string.substring(index+substring.length());
}
Esta:
System.out.println(replaceLast("/"Position, fix, dial/"", "/"", "///""));
Huellas dactilares:
"Position, fix, dial/"
Esta pregunta ya tiene una respuesta aquí:
- Reemplazar la última parte de la cadena 10 respuestas
Estoy teniendo una cuerda como esta
"Position, fix, dial"
Quiero reemplazar la última comilla doble (") con comilla doble de escape (/")
El resultado de la cadena es ser
"Position, fix, dial/"
Cómo puedo hacer esto. Soy consciente de reemplazar la primera aparición de la cadena. pero no sé cómo reemplazar la última aparición de una cadena
Si solo desea eliminar el carácter las (en caso de que exista uno), este es un método de una línea. Yo uso esto para los directorios.
localDir = (dir.endsWith("/")) ? dir.substring(0,dir.lastIndexOf("/")) : dir;
String docId = "918e07,454f_id,did";
StringBuffer buffer = new StringBuffer(docId);
docId = buffer.reverse().toString().replaceFirst(",",";");
docId = new StringBuffer(docId).reverse().toString();
String str = "/"Position, fix, dial/"";
int ind = str.lastIndexOf("/"");
if( ind>=0 )
str = new StringBuilder(str).replace(ind, ind+1,"///"").toString();
System.out.println(str);