VBScript: Funciones de Texto

Iniciado por xassiz_, 27 Septiembre 2009, 22:56 PM

0 Miembros y 1 Visitante están viendo este tema.

xassiz_

Visual Basic Script
Funciones de texto




Asc(string)

Devuelve el código numérico (ANSI) del primer carácter de la cadena string, que por lo menos debe tener uno. En caso contrario se produce un error. Por ejemplo para obtener el código de la letra A:

<%
     Response.Write( Asc("A") )
%>


Y este sería el resultado:

65




Chr(código)

Funciona justo al contrario que Asc(): su argumento es el código numérico (ANSI) de un carácter. Por ejemplo para obtener la letra A:

<%
     Response.Write( Chr(65) )
%>


Y este sería el resultado:

A

Respecto a estas dos funciones, conviene recordar que los códigos comprendidos entre 0 y 32 no son visibles en pantalla ni pueden imprimirse, ya que son caracteres de control. Por ejemplo Chr(10) es un avance de línea.

String(cuantos, cod_caracter)

Devuelve una cadena compuesta por el/los caracteres cuyo código indica cod_caracter y de la longitud indicada por cuantos. Por ejemplo:

<%
     Response.Write( String(5, 65) )
%>


Y este sería el resultado:

AAAAA




Space(cuantos)

Es parecida a la anterior, pero solamente es capaz de generar cadenas compuestas por espacios en blanco, de la longitud indicada por cuantos. Esto mismo se puede hacer también con la función String().

Cstr(valor)

Devuelve un string conteniendo valor. Es decir, que convierte cualquier tipo de dato contenido en valor al tipo string. Hay algunas particularidades que conviene conocer en función del tipo de dato recibido por valor. Si recibe

          Booleano: devuelve un string con la palabra "False" o "True"
          Date: devuelve un string con una fecha en el formato corto: "30/12/2002"
          Null: Error
          Error: devuelve un string con la palabra "Error" seguida del número del error
          Numérico: devuelve un string con el número aplicando la configuración regional (coma decimal, etc.)





InStr([Inicio, ]Cadena, Subcadena[, Comparación])

Devuelve un número que indica la posición del primer carácter de una subcadena dentro de otra, obviamente de mayor longitud. cadena. Sus argumentos son:

Inicio Opcional. Es un número que indica en qué posición, dentro de Cadena, se comienza a buscar Subcadena. Si se omite, por defecto se comienza por la posición 1.
Cadena Obligatorio. Es la cadena principal dentro de la cual hay que buscar Subcadena. Debe tener el tipo de dato string.
Subcadena Obligatorio. Es la cadena con la muestra de lo que se va a buscar dentro de Cadena. Debe tener el tipo de dato string.
Comparación Opcional. Es es un número que indica de qué forma se van a evaluar la subcadena buscada. Puede escribirse el número o la constante intrínseca equivalente. Puede tener dos valores:

    * 0 Comparación binaria. Por defecto (vbBinaryCompare)
    * 1 Comparación textual (vbTextCompare)


Utilizar la Comparación binaria o textual permite diferenciar, por ejemplo, mayúsculas de minúsculas, que por defecto VBScript considera iguales. Al ser 0 el valor por defecto de Comparar, Instr() distingue entre mayúsculas y minúsculas

He aquí un ejemplo:

<%
  Dim Cadena
 
  Cadena = "Esto es una prueba de buscar subcadenas"

  Response.Write(Instr(1, Cadena, "prueba")
%>


Y este sería el resultado:

13

Este es el funcionamiento ideal, pero pueden ocurrir cosas inesperadas en el valor de las cadenas. Entonces, la función se comportará de la siguiente manera: Si la longitud de Cadena es 0, Instr() devuelve 0. Si el valor de Inicio es mayor que la longitud de Cadena también devolverá 0. Si la longitud de Subcadena es 0, devolverá el valor de Inicio. Si Subcadena no es encontrada dentro de Cadena, devolverá 0. Y por último, si Cadena o Subcadena contienen Null devolverá Null.





InStrRev(Cadena, Subcadena[, Inicio[, Comparar]])

Como habrás visto, tiene una pequeña diferencia de sintaxis con la anterior, aunque en todo lo demás funciona igual, excepto en que en lugar de comenzar la búsqueda por defecto en la posición 1 de Cadena lo hace comenzando por la última posición de la misma, o lo que es equivalente, por la posición -1.





LCase(Cadena)

Devuelve una cadena cuyas letras mayúsculas han sido convertidas a minúsculas. por ejemplo:

<%
  Dim Cadena
  Cadena = "Esto es una prueba DE MAYÚSCULAS y Números: 1234"

  Response.Write(LCase(Cadena)
%>


Y este sería el resultado:

esto es una prueba de mayúsculas y números: 1234





UCase(Cadena)

Devuelve una cadena cuyas letras minúsculas han sido convertidas a mayúsculas. Es decir, justo lo contrario que la anterior función LCase()




Left(Cadena, Cuantos)

Devuelve una cadena conteniendo el número de caracteres especificado por Cuantos del lado izquierdo de Cadena. Por ejemplo:

<%
  Dim Cadena
  Cadena = "ABCDEFGHIJK"

  Response.Write(Left(Cadena, 3)
%>


Y este sería el resultado:

ABC




Right(Cadena, Cuantos)

Devuelve una cadena conteniendo el número de caracteres especificado por Cuantos del lado derecho de Cadena. Por ejemplo:

<%
  Dim Cadena
  Cadena = "ABCDEFGHIJK"

  Response.Write(Right(Cadena, 3)
%>


Y este sería el resultado:

IJK




Len(Cadena)

Devuelve un número que indica cuantos caracteres contiene Cadena. Por ejemplo:

<%
  Dim Cadena
  Cadena = "ABCDEFGHIJK"

  Response.Write(Len(Cadena)
%>


Y este sería el resultado:

11

Si en lugar de una cadena el argumento es un número, Len() devolverá el número de dígitos que forman el número propiamente dicho. Por ejemplo:

<%
  Dim Valor
  Valor = 2003

  Response.Write(Len(Valor)
%>


Y este sería el resultado:

4




Mid(Cadena, Inicio[, Cuantos])

Devuelve una cadena conteniendo el número de caracteres indicado por Cuantos extraida de Cadena y comenzando en la posición indicada por Inicio. Por ejemplo:

<%
  Dim cadena
  Cadena = "ABCDEFGHIJK"

  Response.Write(Mid(Cadena, 2, 3))
%>


Y este sería el resultado:

BCD




LTrim(Cadena)   RTrim(Cadena)   Trim(Cadena)

Estas tres funciones sirven para eliminar los espacios en blanco que haya en el lado izquierdo, derecho o en ambos de Cadena. Los espacios que contenga Cadena en el interior no se verán afectados. Por ejemplo:

<%
  Dim cadena
  Cadena = " ABCD EFGH IJK "

  Response.Write(Chr(34) & LTrim(Cadena) & Chr(34) )
  Response.Write(Chr(34) & RTrim(Cadena) & Chr(34))
  Response.Write(Chr(34) & Trim(Cadena) & Chr(34))
%>


Y este sería el resultado:

"ABCD EFGH IJK "
" ABCD EFGH IJK"
"ABCD EFGH IJK"





Replace(Cadena, Busca, Cambio[, Inicio, [Cuantos, [Comparar]]])

Localiza el contenido de Busca dentro de Cadena y lo sustituye (Replace) por el valor de Cambio. Sus argumentos son:

Cadena Obligatorio. Es la cadena principal dentro de la cual hay que realizar los cambios. Debe tener el tipo de dato string.
Busca Obligatorio. Es la subcadena que indica lo que hay que buscar dentro de Cadena para cambiarlo. También debe tener el tipo de dato string.
Cambio Obligatorio. Es la subcadena que sustituirá a Busca. Al igual que los dos anteriores, debe tener el tipo de dato string.

Inicio Opcional. Es un número que indica en qué posición, dentro de Cadena, se comienza a buscar el valor de Busca. Si se omite, por defecto se comienza por la posición 1.
Cuantos Opcional. Indica cuantas sustituciones, de todas las posibles, se quiere realizar. El valor por defecto es -1, que significa todas.
Comparar Opcional. Es es un número que indica de qué forma se va a evaluar la subcadena buscada. Puede escribirse el número o la constante intrínseca equivalente. Puede tener dos valores:

    * 0 Comparación binaria. Por defecto (vbBinaryCompare)
    * 1 Comparación textual (vbTextCompare)


Utilizar la Comparación binaria o textual permite diferenciar, por ejemplo, mayúsculas de minúsculas, que por defecto VBScript considera iguales. Al ser 0 el valor por defecto de Comparar, Replace() distingue entre mayúsculas y minúsculas

He aquí un ejemplo:

<%
  Dim Cadena
 
  Cadena = "Esto es una prueba de buscar subcadenas y cambiarlas"

  Response.Write(Replace(Cadena, "prueba", "muestra")
%>


Y este sería el resultado:

Esto es una muestra de buscar subcadenas y cambiarlas

Hay que tener en cuenta algunas cosas: Si la longitud de Cadena es 0, Replace() devuelve lo mismo. Se producirá un error si Cadena es Null. Otra cosa importante es que si inicio es mayor que 0, la cadena resultante será la comprendida entre el punto señalado por Inicio y el fin de Cadena, es decir que será menos larga que el original.




StrComp(Cadena1, Cadena2[, Comparar])

Compara Cadena1 con Cadena2 y devuelve un valor numérico para indicar el resultado. El modo de comparar las dos cadenas viene indicado por Comparar, que es opcional. Puede escribirse el número o la constante intrínseca equivalente para definir Comparar. Puede tener dos valores:

    * 0 Comparación binaria. Por defecto (vbBinaryCompare)
    * 1 Comparación textual (vbTextCompare)


Utilizar la Comparación binaria o textual permite diferenciar, por ejemplo, mayúsculas de minúsculas, que por defecto VBScript considera iguales. Al ser 0 el valor por defecto de Comparar, StrComp() distingue entre mayúsculas y minúsculas

Los valores obtenidos con StrComp() son:

    * -1 si cadena1 es menor que cadena2
    * 0 si cadena1 es igual que cadena2
    * 1 si cadena1 es mayor que cadena2
    * Null si cadena1 o cadena2 contienen Null



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Karcrack

Te faltaria Split no?

Esta informacion de donde la has recopilado? MSDN?

Buen trabajo :D

Novlucker

Bien hecho, esta es la info que no toco en mi tuto, es que como se ve se puede encontrar en diversos lados, además de que hay muchisimas funciones, las cuales además son sencillas de utilizar  :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

xassiz_

Cita de: Karcrack en 27 Septiembre 2009, 23:06 PM
Te faltaria Split no?

Esta informacion de donde la has recopilado? MSDN?

Buen trabajo :D

De una web por ay ;D



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Novlucker

Por lo que veo el contenido esta en varias web's, así que como no se puede confirmar la fuente, lo dejamos así  :silbar:

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein


Novlucker

Y este otro más que más .. esta al pie de la primera parte de mi tuto, pero creo que hay alguno que otro que no le presta mucha atención  :rolleyes:

CitarEn el caso de querer más documentación al respecto, se pueden descargar la documentación sobre windows script host, donde tendrán la referencia a todas las funciones de las que podemos hacer uso. Windows Script 5.6 Documentation
Ahí vienen todas las funciones  ;)

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein