Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Ferсhu en 17 Agosto 2008, 22:38 pm



Título: Reemplazar en cadena [J2ME]
Publicado por: Ferсhu en 17 Agosto 2008, 22:38 pm
Alguien sabe una forma facil para reemplazar un caracter de un string en el entorno j2me.

Reemplazarlo por el numero de posicion, Cadena.replace() no me sirve.

hay q converitr a array? :s


Título: Re: Reemplazar en cadena [J2ME]
Publicado por: carlitos.dll en 17 Agosto 2008, 22:52 pm
Los String son inmutables,
Aquí sale: http://java.sun.com/javame/reference/apis/jsr118/

Citar
String    replace(char oldChar, char newChar)
          Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.

Código
  1. String nuevoString = viejoString.replace('c','m');
  2.  

ahí reemplazas la 'c' por la 'm'.



Título: Re: Reemplazar en cadena [J2ME]
Publicado por: carlitos.dll en 17 Agosto 2008, 22:57 pm
También se me ocurre, para reemplazar un solo carácter:

Código
  1.  
  2. String palabra = new String("casa");
  3.  
  4. palabra = new String(palabra.substring(0,3)+"m"+palabra.substring(3));
  5.  
  6.  


Título: Re: Reemplazar en cadena [J2ME]
Publicado por: Ferсhu en 17 Agosto 2008, 23:41 pm
el primer metodo no me sirve, el segundo si.

q ganas de complicarme la vida q tienen los de java jaja.

lo q en C seria:

Código:
cadena[2*i+1]=c; // c es caracter

aca me kedo asi:

Código:
stringItem1.setText(aux.toString().substring(0,2*i)+ c + aux.toString().substring((2*i+1),2*tam) );


A alguien se le ocurre un metodo mas simple.


Título: Re: Reemplazar en cadena [J2ME]
Publicado por: -Ramc- en 18 Agosto 2008, 16:25 pm
La clase StringBuffer de java es como una String dinamica, se puede modificar mas fácilmente, si quieres ver sus métodos, en el API estan:

http://java.sun.com/javase/6/docs/api/java/lang/StringBuffer.html (http://java.sun.com/javase/6/docs/api/java/lang/StringBuffer.html)


Título: Re: Reemplazar en cadena [J2ME]
Publicado por: Ferсhu en 18 Agosto 2008, 20:34 pm
Gracias, eso es lo q buscaba.  :)