yeiipii Posted November 24, 2010 Report Share Posted November 24, 2010 me pueden dar un ejemplo de replace(substring_a_buscar,nuevoStr) se que es para cambiar el valor que le asigne a un string pero no se como hacer el ejemplo :( Link to comment Share on other sites More sharing options...
xchanox Posted November 24, 2010 Report Share Posted November 24, 2010 (edited) ya, para no quedar como el malo de la película. Te doy un ejemplo String cadena_original = "Hay dos casas de color blanco y dos casas de color verde"; String cadena_nueva = cadena_original.replace("casas" , "vehículos"); System.out.println(cadena_nueva); // en la pantalla se visualiza: // "Hay dos vehículos de color blanco y dos casas de color verde" // (sin comillas) puse a propósito dos veces la palabra "casa" para que veas que solo se cambia la primera que encuentra leyendo de izquierda a derecha EDITO: olvidé decir que no es obligatorio crear la variable "cadena_nueva" ya que al invocar el método replace se sobreescribe el valor del string original. Edited November 24, 2010 by xchanox Link to comment Share on other sites More sharing options...
rvega77 Posted November 26, 2010 Report Share Posted November 26, 2010 ya, para no quedar como el malo de la película. Te doy un ejemplo String cadena_original = "Hay dos casas de color blanco y dos casas de color verde"; String cadena_nueva = cadena_original.replace("casas" , "vehículos"); System.out.println(cadena_nueva); // en la pantalla se visualiza: // "Hay dos vehículos de color blanco y dos casas de color verde" // (sin comillas) puse a propósito dos veces la palabra "casa" para que veas que solo se cambia la primera que encuentra leyendo de izquierda a derecha EDITO: olvidé decir que no es obligatorio crear la variable "cadena_nueva" ya que al invocar el método replace se sobreescribe el valor del string original. :blink: :blink: :blink: Estimado... Si es necesario crear la nueva variable... ya que el Objeto String se concidera "inmutable", cada accion que se realiza sobre un String "genera un nuevo String"... Y también en realidad reemplaza Todas las Ocurrencias... :banana: :banana: Link to comment Share on other sites More sharing options...
xchanox Posted November 26, 2010 Report Share Posted November 26, 2010 ya, para no quedar como el malo de la película. Te doy un ejemplo String cadena_original = "Hay dos casas de color blanco y dos casas de color verde"; String cadena_nueva = cadena_original.replace("casas" , "vehículos"); System.out.println(cadena_nueva); // en la pantalla se visualiza: // "Hay dos vehículos de color blanco y dos casas de color verde" // (sin comillas) puse a propósito dos veces la palabra "casa" para que veas que solo se cambia la primera que encuentra leyendo de izquierda a derecha EDITO: olvidé decir que no es obligatorio crear la variable "cadena_nueva" ya que al invocar el método replace se sobreescribe el valor del string original. :blink: :blink: :blink: Estimado... Si es necesario crear la nueva variable... ya que el Objeto String se concidera "inmutable", cada accion que se realiza sobre un String "genera un nuevo String"... Y también en realidad reemplaza Todas las Ocurrencias... :banana: :banana: Entonces CON MAYOR RAZON no es necesario crear otra variable para ese propósito, yo trabajo haciendo software para dispositivos moviles y este tipo de detalles son críticos cuando tienes pocos recursos disponibles, ya que hacen la diferencia entre un software que corre fluido y un software que corre lento. Quizá no se entendío lo que quise decir con no crear una nueva variable, quise decir lo siguiente String cadena_original = "Hay dos casas de color blanco y dos casas de color verde"; cadena_original = cadena_original.replace("casas" , 'vehiculos'); System.out.println(cadena_original); de todas formas lo compilé y probé de las dos maneras y funciona idéntico, te invito a probar y decirme, no vaya a ser que yo tenga una versión no estándar de java y no me haya dado cuenta, nunca se sabe. Link to comment Share on other sites More sharing options...
nkdos Posted November 26, 2010 Report Share Posted November 26, 2010 me pueden dar un ejemplo de replace(substring_a_buscar,nuevoStr) se que es para cambiar el valor que le asigne a un string pero no se como hacer el ejemplo :( es para la carpeta de final de semestre del duoc????? Link to comment Share on other sites More sharing options...
rvega77 Posted November 27, 2010 Report Share Posted November 27, 2010 ya, para no quedar como el malo de la película. Te doy un ejemplo String cadena_original = "Hay dos casas de color blanco y dos casas de color verde"; String cadena_nueva = cadena_original.replace("casas" , "vehículos"); System.out.println(cadena_nueva); // en la pantalla se visualiza: // "Hay dos vehículos de color blanco y dos casas de color verde" // (sin comillas) puse a propósito dos veces la palabra "casa" para que veas que solo se cambia la primera que encuentra leyendo de izquierda a derecha EDITO: olvidé decir que no es obligatorio crear la variable "cadena_nueva" ya que al invocar el método replace se sobreescribe el valor del string original. :blink: :blink: :blink: Estimado... Si es necesario crear la nueva variable... ya que el Objeto String se concidera "inmutable", cada accion que se realiza sobre un String "genera un nuevo String"... Y también en realidad reemplaza Todas las Ocurrencias... :banana: :banana: Entonces CON MAYOR RAZON no es necesario crear otra variable para ese propósito, yo trabajo haciendo software para dispositivos moviles y este tipo de detalles son críticos cuando tienes pocos recursos disponibles, ya que hacen la diferencia entre un software que corre fluido y un software que corre lento. Quizá no se entendío lo que quise decir con no crear una nueva variable, quise decir lo siguiente String cadena_original = "Hay dos casas de color blanco y dos casas de color verde"; cadena_original = cadena_original.replace("casas" , 'vehiculos'); System.out.println(cadena_original); de todas formas lo compilé y probé de las dos maneras y funciona idéntico, te invito a probar y decirme, no vaya a ser que yo tenga una versión no estándar de java y no me haya dado cuenta, nunca se sabe. :blink: :blink: :blink: Estimado... Al parecer leí muy rápido tu respuesta e interprete mal la parte en que dijiste... "... al invocar el método replace se sobreescribe el valor del string original" Cuando tu colocas cadena_original = cadena_original.replace("casas" , 'vehiculos'); lo que haces es "simular" un cambio de estado en el objeto (se actualiza la variable), pero lo que en verdad sucede es que creas un nuevo objeto string y lo asignas a la misma variabla (perdiendo el string anterior y se le lleva el "recolector de basura" etc. etc. etc...) Pero para defender mi punto, quiero decir que si... String cadena_original = "Chilecomparte"; cadena_original.replace("e" , '_E_'); // esto genera un NUEVO String: "Chil_E_compart_E_"... ...pero se pierde por que no se asigna... System.out.println(cadena_original); // imprime cadena orignal (sin cambios) : Chilecomparte :paco: Nótese que se "reemplazan" todas las ocurrencias, no solo la primera... En fin... :banana: :banana: :banana: :bravo: :bravo: :bravo: Link to comment Share on other sites More sharing options...
xchanox Posted November 27, 2010 Report Share Posted November 27, 2010 jajaja problema de palabras, quizá no me expresé bien. Me refería a la variable String y no al objeto mismo ni su posición en la memoria ram. Al final en este caso lo que nos importa es la variable, dejemosle el colector de basura a la maquina virtual. y que dijo el creador del tema? vio la respuesta y se mandó a cambiar? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now