About Replace

para substituir a primeira string encontrada usa-se mystring.replacefirst( “old”,“new” ), to procurando uma função que substitua a ultima sequencia de caracteres ou ultimo caracter tipo um raplacelast, alguem conhece algo parecido?

Se você não precisa de uma expressão regular (não se esqueça que “replaceAll” e “replaceFirst” são lentas porque usam expressões regulares) então pode usar o método estúpido de inverter as strings. Por exemplo, você gostaria de substituir o último “abra” por “fecha”:

String s = "abracadabra";
s = (new StringBuilder (((new StringBuilder (s)).reverse()).toString().replaceFirst("arba", "ehcef"))).reverse()).toString();

É claro que isso é meio difícil de manter. Eu preferiria criar um método que usasse String.lastIndexOf, que é mais rápido e menos esquisito.

legal thingol não conhecia este Método

Para facilitar podia criar um método.

public String replaceLast(String ori, String replaceText,String replaceFor){
StrinbBuilder builder = new StringBuilder(ori);
String result = builder.reverse().toString().replaceFirst(new StringBuilder(replaceText).reverse().toString(), new StringBuilder(replaceFor).reverse().toString());
return new StringBuilder(result).reverse().toString();
}

Cabrero… o.0

Mas voce usa tipo

String s = "abracadabra";
s = replaceLast(s, "abra","fecha");

Legal Mark, facilitou msm

Abraços