jump to navigation

Reemplazar contenido con Java Mayo 31, 2010

Publicado por lineadecodigo en : Java , Hasta ahora 1 comentario

En el tratamiento de textos, una operación muy utilizada es la de buscar contenido y reemplazarlo por un nuevo contenido. Es la típica opción de los editores de texto de "Buscar y Reemplazar...".

Ahora vamos a ver como podemos hacer esto mediante Java de una forma sencilla. Lo primero será tener una cadena:

  1. String s = "La pausa la realizó Fernando. En las representaciones de teatro, Fernando era el que mejor llevaba el tempo";

Para poder reemplazar contenido con Java nos tenemos que apoyar en el método .replaceAll(). Este método recibirá como parámetros el contenido a reemplazar y el nuevo contenido. El resultado de ejecutar el método será una nueva cadena.

  1. s = s.replaceAll("Fernando", "Victor");

Vemos que .replaceAll() es un método extremadamente potente y que nos ayudará con muchas operaciones de mantenimiento de textos.

|- Descargar el código
|- Reportar error en el código
|- Foro sobre Java

Linea de Código en Tuenti Mayo 31, 2010

Publicado por lineadecodigo en : Linea de Codigo , 2 comentarios

Dentro de la parte social de Línea de Código ya sabéis que nos podéis encontrar en Twitter, Facebook y LinkedIn.

Pues, ahora, ya nos podéis seguir al grupo de Línea de Código en la red social de Tuenti.

Accede al grupo de Linea de Código en Tuenti

Extraer contenido con delimitadores dinámicos Mayo 30, 2010

Publicado por lineadecodigo en : Java , 4 comentarios

Una muy buena observación que nos hicieron en el artículo Extraer contenido separado por delimitadores con Java es que el uso de StringTokenizer limita la extracción de contenido. Sobre todo si los delimitadores son dinámicos, ya que StringTokenizer no permite el uso de expresiones regulares.

Imaginemos que el texto que nos envían para extraer los items tiene la siguiente estructura:

  1. String sCiudades = "#01avila#02madrid#03toledo#04santander";

Podemos comprobar que los delimitadores son dinámicos y que siguen la pauta de una almohadilla y un par de dígitos de separación, los cuales van incrementando.

Lo primero es encontrar una expresión regular para este delimitador dinámico. Podría ser:

#0[0-9]

Ahora, nos vamos a apoyar en el método .split() para dividir la cadena con la expresión regular y quedarnos con los items de resultado.

  1. String[] items = sCiudades.split("#0[0-9]");

Vemos que el método .split() nos devuelve un array de String. Así que solo nos quedará el recorrer el array para mostrar el contenido. Para ello utilizamos una estructura for-each

  1. for (String item: items)
  2. System.out.println(item);

Quisiéramos agradecer a personas como Unai estos aportes tan gratificantes de contenido que ayudan a que todos podamos aprender un poco más.

|- Reportar error en el código
|- Foro sobre Java

Comentar código en VBScript Mayo 29, 2010

Publicado por lineadecodigo en : VBScript , Hasta ahora 1 comentario

Si estás programando en VBScript y quieres comentar tus programas (una práctica muy recomendable).

Tienes dos formas de hacerlo. La primera es anteponiendo la palabra REM. Forma de hacerlo que se viene utilizando desde los lenguajes Basic más antiguos. La segunda es anteponiendo una apostrofe. Esta es la opción más cómoda y extendida.

REM Comentario
' Comentario

Un programa general con comentarios quedaría de la siguiente forma:

  1. <script type="text/vbscript">
  2. ' Mi primer comentario
  3. ' Y mi primer programa en VBScript
  4.  
  5. document.write("Ejemplo que enseña a poner comentarios en VBScript")
  6.  
  7. REM También podría haber sido con la palabra rem
  8.  
  9. </script>

|- Descargar el código
|- Reportar error en el código
|- Foro sobre VBScript

Extraer contenido separado por delimitadores con Java Mayo 29, 2010

Publicado por lineadecodigo en : Java , 4 comentarios

Una de las consultas que nos han hecho en la web es acerca de como extraer contenido que se encuentre separado por delimitadores

Y es que en muchas situaciones nos podemos encontrar con este problema. Posiblemente el más típico es aquel en el que recibimos información en un fichero que ha sido exportado de alguna herramienta.

Por ejemplo, partamos de la siguiente información:

ciudad#min#max#cielo
avila#12#24#soleado
toledo#16#15#soleado
madrid#15#27#soleado
barcelona#12#20#nublado

Vemos que el contenido está separado por delimitadores. En este caso mediante una almohadilla (#).

Si queremos procesar el contenido de las cadenas deberemos de extraer la información separada por los delimitadores. Para esto podemos apoyarnos en el método StringTokenizer.

  1. StringTokenizer st = new StringTokenizer(sTexto,delimitador);

Dicho método nos deja los items encontrados en una cadena de texto cada vez que encuentre un delimitador.

Así, si partimos de la cadena

  1. String sTiempo = "avila#12#24#soleado";

Podemos instanciar el StringTokenizer de la siguiente forma:

  1. StringTokenizer st = new StringTokenizer(sTiempo,"#");

Como vemos, pasamos la almohadilla (#) como el separador que ha de utilizar el StringTokenizer.

Solo nos quedará recorrer el StringTokenizer para extraer los elementos. Esta última operación la realizamos con los métodos .hasMoreTokens() y .nextToken().

  1. while (st.hasMoreTokens())
  2. System.out.println (st.nextToken());
|- Descargar el código
|- Reportar error en el código
|- Foro sobre Java

Cómo definir una constante en VBScript Mayo 28, 2010

Publicado por lineadecodigo en : VBScript , 2 comentarios

Si necesitas tener un valor constante dentro de tu código VBScript deberás de definir una constante.

Para definir una constante en VBScript tienes que seguir la siguiente estructura:

  1.  
  2. Const nombre_contante = valor
  3.  

Así, si queremos definir constantes para los días de la semana podríamos tener el siguiente código:

  1. <script type="text/vbscript">
  2. Const lunes = 1
  3. Const martes = 2
  4. Const miercoles = 3
  5. Const jueves = 4
  6. Const viernes = 5
  7. Const sabado = 6
  8. Const domingo = 7
  9. </script>

El valor de la constante podemos utilizarlo allá dónde lo necesitemos.

  1. <script type="text/vbscript">
  2. document.write("El miércoles es el día " + CStr(miercoles) + " de la semana")
  3. </script>

Hay que tener cuidado como definimos las variables para cuando las utilicemos. En nuestro caso hemos utilizado la función de conversión CStr() para convertir un número en cadena.

|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre VBScript

Extraer una parte de una cadena Mayo 28, 2010

Publicado por lineadecodigo en : Java , Hasta ahora 1 comentario

Una consa muy sencilla de hacer con Java y que la utilizaremos en muchos ejemplo es la de extraer una parte de una cadena. Para poder llevar a cabo este procedimiento nos basaremos en el método substring() de Java. Dicho método lo encontraremos en la clase String.

Aunque el método substring() puede ser invocado de diferentes formas, nosotros nos basaremos en la siguiente:

  1. public String substring(int beginIndex, int endIndex)

Los parámetros que le pasamos indican el indice inicial y final de la cadena que queramos extraer. El inicial corresponde con la posición de la letra por la que queremos empezar y el final por la letra que está justo después de la última letra que queramos recuperar.

Una cosa muy importante es que la primera letra de una cadena de texto siempre tiene el índice 0.

Estas serían las posiciones de la frase "Hola Mundo".

H o l a   M u n d o
0 1 2 3 4 5 6 7 8 9

Así que si queremos extraer la parte "Mundo" de la cadena "Hola Mundo". El código substring() a utilizar será el siguiente:

  1. String sCadena = "Hola Mundo";
  2. String sSubCadena = sCadena.substring(5,10);
  3. System.out.println(sSubCadena);

Algo sencillo y útil.

Podéis consultar más sobre el método substring() en http://www.w3api.com/wiki/Java:String.substring()

|- Descargar el código
|- Reportar error en el código
|- Foro sobre Java Básico

Modificar el contenido de una capa con jQuery Mayo 27, 2010

Publicado por lineadecodigo en : jQuery , Hasta ahora 1 comentario

En el artículo Modificar el contenido de una capa con Prototype nos comentaban si podíamos explicar como hacerlo en jQuery. Así que manos a la obra.

Lo primero, pues una capa. Y en este caso. Lo más importante es darle un ID a la capa:

  1.  
  2. <div id="micapa">Capa con algo de texto</div>
  3.  
  4. <button id="miboton">Cambiar el contenido</button>

Para darle un poco más de interactividad, mediante el elemento button hemos añadido un botón, el cual nos permitirá cambiar el contenido de la capa.

Asumiendo que ya tenemos el jQuery instanciado. Pero por si hay algún despistado:

  1. <script type="text/javascript" src="jquery.js"></script>

Vamos al meollo de la cuestión, modificar el contenido de una capa. Lo primero que hacemos es controlar el evento click del botón. Recuerda que el acceso a los elementos se hace anteponiendo una almohadilla al ID del elemento.

  1. $("#miboton").click(function(){...});

Dentro de la función podremos el código para modificar la capa. Para acceder a la capa, lo mismo, anteponemos la alhomadilla al ID (por eso decía lo de la importancia del ID) y el método que nos permite acceder al contenido es .html()

  1. $("#micapa").html("Nuevo contenido de la capa");

Y todo el código junto, y dentro de la función ready() de jQuery, nos quedaría de la siguiente forma:

  1. $(document).ready(function(){
  2. $("#miboton").click(function(){
  3. $("#micapa").html("Nuevo contenido de la capa");
  4. });
  5. });

Un ejemplo muy limpio para ver como se programa con código script no intrusivo apoyándonos en jQuery.

Por cierto, es mejor Prototype o jQuery. O eres de los que usas Dojo?

|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre jQuery

Validar un CIF en Javascript Mayo 26, 2010

Publicado por lineadecodigo en : JavaScript , 3 comentarios

El CIF (Código de Identificación Fiscal) es un elemento de identificación administrativa para organizaciones y consta de 9 dígitos:

 _   _ _ _ _ _ _ _   _
|_| |_|_|_|_|_|_|_| |_|
 ^   ^           ^   ^
 |   |_ Números _|   |
 |                   |
 |               Dígito de control, un número ó letra:
 |               {Aó1,Bó2,Có3,Dó4,Eó5,Fó6,Gó7,Hó8,Ió9,Jó0}
 |
Letra de tipo de Organización, una de las siguientes:
{A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S}

El primer dígito es una letra que indica el tipo de la organización y puede ser una de los siguientes:

Los siete dígitos siguientes son números y el último es el dígito de control que puede ser un número ó una letra.

Las operaciones para calcular el dígito de control se realizan sobre los siete dígitos centrales. Vamos a ver qué operaciones son y como podemos implementarlas con Javascript:

El código que utilizamos para este primer paso es sencillo. El acceso al número del CIF lo realizamos mediante el uso de la función substr tanto para los números pares como para los impares.

  1. // Sumamos los A y B
  2. a = 0;
  3. b = 0;
  4. var calculo = new Array(0,2,4,6,8,1,3,5,7,9);
  5.  
  6. for(x=2;x<=6;x+=2) {
  7. a = a + parseInt(cif.substr(x,1));
  8. b = b + calculo[parseInt(cif.substr(x-1,1))];
  9. }
  10. b = b + calculo[parseInt(cif.substr(x-1,1))];

Para los números impares hemos visto que hay que hacer alguna cosa adicional (multiplicarlos por dos y sumar los dígitos). Como esto nos puede resultar costoso de programar, utilizamos un pequeño truco. Y es que dado un número, en un array cargamos su resultado.

Así tenemos el siguiente array:

  1. var calculo = new Array(0,2,4,6,8,1,3,5,7,9);

Y por qué el array es así. Pues es el resultado del cálculo expresado anteriormente:

0 x 2 = 0
1 x 2 = 2
2 x 2 = 4
3 x 2 = 6
4 x 2 = 8
5 x 2 = 10; 1 + 0 = 1
6 x 2 = 12; 1 + 2 = 3
7 x 2 = 14; 1 + 4 = 5
8 x 2 = 16; 1 + 6 = 7
9 x 2 = 18; 1 + 8 = 9

El código de esta última acción sería el siguiente:

  1. d = (10 -(c%10));

Veamos como ejemplo para el número de C.I.F. : A58818501

Utilizamos los siete dígitos centrales = 5881850

Sumamos los dígitos pares: A = 8 + 1 + 5 = 14

Posiciones impares:
5 * 2 = 10 -> 1 + 0 = 1
8 * 2 = 16 -> 1 + 6 = 7
8 * 2 = 16 -> 1 + 6 = 7
0 * 2 = 0 -> = 0

Sumamos los resultados: B = 1 + 7 + 7 + 0 = 15

Suma parcial: C = A + B = 14 + 15 = 29

El dígito de las unidades de C es 9. Se lo restamos a 10 y nos da: D = 10 - 9 = 1

Si el dígito de control ha de ser un número es 1 y si ha de ser una letra es la "A"

|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre Javascript

Quitar el scroll de nuestra página web Mayo 25, 2010

Publicado por lineadecodigo en : CSS , Hasta ahora 1 comentario

En algunos casos tener scroll en nuestras páginas web puede resultar molesto para nuestros usuarios. O, al menos, eso dicen ciertos diseñadores. Si bien, a mí me parece un elemento muy útil.

Si te encuentras en una situación en la que tengas que quitar el scroll puedes seguir una serie de pasos y apoyándonos en el lenguaje CSS. La idea consiste en jugar con la propiedad overflow. La propiedad overflow controla lo que sucede cuando un contenido desborda el área en la que se encuentra. Si lo aplicamos a nivel de toda la página, será cuando el contenido supere el tamaño de la ventana.

Los valores que puede tener la propiedad overflow serían:

En nuestro caso vamos a asignar el valor hidden. Es decir, cortaremos el contenido que sobresale. Consecuentemente, el navegador no necesitará poner una barra de scroll.

El código a utilizar sería el siguiente:

  1.  
  2. style"><style type="text/css">
  3. html,body {
  4. overflow:hidden;
  5. }
  6. </style>
  7.  
|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre CSS