viernes, 8 de junio de 2012

Manejo de cadenas.Continuación


Continuamos donde lo dejamos. Sigamos con las muchas de las operaciones
que podemos hacer con el manejo de cadenas.

Los espacios en una cadena.

Hay veces que nos interesa eliminar los espacios contenidos en una variable de cadena.
Ya sea por el comienzo, por el final o en ambos lados.

Para eliminar por la izquierda usamos:
Ltrim$(cadena)

Imaginar que nuestro usuario entra una palabra y ha añadido, espacios al principio
que no tienen utilidad.

En el caso de un nombre.

---código---
DIM nombre AS STRING

nombre=” Luisa”
PRINT nombre

nombre= LTrim$(nombre)
PRINT nombre
---código---

Por la derecha lo haríamos con  la función RTrim$

---código---
DIM nombre AS STRING

nombre=”Luisa ”
PRINT nombre

nombre= RTrim$(nombre)
PRINT nombre
---código---

Observar los puntos en la salida de consola.

Ahora usemos Trim$. Con esta función eliminaremos los espacios
contenidos en la variable de cadena, tanto al comienzo como al final.

---código---
DIM frase AS STRING

frase=” En un lugar de la Mancha ”
PRINT frase

frase= RTrim$(frase)
PRINT frase

---código---

Es interesante como podemos manejar la entrada de información y adaptarla
para que nuestro programa nos muestre el resultado que queremos.

Substituir una palabra,una letra dentro de una variable de cadena.

Si queremos realizar esta función debemos usar:

Replace$(Cadena,patrón,remplazo)

Hay situaciones que no necesitamos una asignación de una variable,simplemente
usamos la función para que nos muestre un resultado y no almacenamos
la operación en una variable. Esto es según os convenga hacer.

En este caso no usaremos una variable, solo una cadena de texto
que está dentro de las “”

PRINT Replace$(“como poco coco como poco coco compro”,”o”,”e”)

OJO - Cuidado al copiar y pegar en el editor con las comillas. :-)
Fijaros que no son “” lo que sale a veces al pegar en el editor

Retocar si hace falta en el editor de Gambas.

Cambiar de mayúsculas a minúsculas o viceversa.

A veces necesitamos convertir el contenido de la variable de cadena a mayúsculas
o minúsculas.

---código---
DIM palabra as STRING

palabra=”Aplicación en Basic”
PRINT palabra

PRINT 'Dejamos un espacio

palabra=UCase$(palabra) 'Convertimos a mayúsculas
PRINT palabra

PRINT 'Dejamos un espacio

'Ahora convertimos a minúsculas
palabra=LCase$(palabra)
PRINT palabra

---código---

Para una búsqueda de una palabra y nos indique su lugar.

Hay veces que nos interesa saber si en el contenido de una variable de cadena,
existe una palabra determinada, un carácter,etc. O también su lugar de comienzo.

Usaremos la función:

InStr(cadena,subcadena,posición de comienzo de búsqueda)

No siempre tenemos que especificar desde donde buscar,
en otros caso, si. Por si la palabra se repite y no te interesa
ese lugar de comienzo.

---código----

PRINT InStr(“basic basico”,”bas”)

Nos mostrara el lugar de la primera coincidencia donde se encuentra la palabra “bas”
Pero y si queremos que nos muestre otro lugar. Debemos especificar en la
instrucción una posición.

Existe también otra función que en vez de comenzar la búsqueda por la izquierda
la realiza por la derecha.

RinStr(cadena,subcadena,inicio)

Ambas funciones se complementan con el uso de bucles y las
funciones Left$,Right$ y MID$.

Para añadir espacios

Con esta función obtendremos un número de espacios en una cadena.

variable_de_cadena=Space$(n)

Donde n es el número de espacios que queremos.

No hay comentarios:

Publicar un comentario