Java – String.Format

marzo 30, 2009

El día de hoy requerí sustituir posicionalmente valores en una cadena.
Por ejemplo, como entrada recibo la cadena

select * from usr{0}.empleados

y requiero que la salida sea

select * from usrVentas.empleados

En .NET basta con hacer un

String.Format(“select * from usr{0}.empleados”,”Ventas”)

En Java, por suerte, no es mucho mas complicado. Se haría de la siguiente forma

String cadena=new MessageFormat(“select * from usr{0}.empleados”).format(“Ventas”)

Algo curioso que me sucedió fue cuando intente formatear la siguiente cadena

select ‘inactivo’,nombre from usr{0}.empleados

me la convertía en

select inactivo,nombre from usrVentas.empleados

lo que me produjó un error ya que removió los apóstrofes. Para evitar esto hay que reemplazar previamente los apóstrofes por dobles apóstrofes como se muestra a continuación. La razón se explica en uno de los enlaces.

String cadena=new MessageFormat(“select ‘inactivo’,nombre from usr{0}.empleados”.replace(“‘”, “””)).format(“Ventas”)

Referencias:
Class MessageFormat
Apostrophe handling of java.text.MessageFormat
String.Format in C#

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: