Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Manipulación De Strings
Autor Mensaje
Responder citando   Descargar mensaje 
Mensaje Manipulación De Strings 
 
Conjuntos de caracteres
Al contrario que en C, en gambas los string empiezan por la posición 1.
En  gambas se utiliza para las strings el juego de caracteres UTF-8  lo que hace que muchas órdenes genéricas de string no funcionen correctamente (cuando intervienen códigos ascii extendidos).

Para resolver esto existe la clase string que tiene las mismas órdenes, pero preparadas para trabajar con UTF-8.

Así por ejemplo
print len("bebé") = 5 (porque en  UTF8 los caracteres extendidos tienen dos bytes)
print string.len("bebé") = 4 (porque al utiliza r UTF-8 se entiende que la é tiene dos bytes en vez de uno

Strings vacíos
if string="" then          if len(string)=0 then
if string<>"" then       if len(string)>0 then

Pero en gambas esto es mas sencillo
if string th en  ====> no está  vacía
if not string th en  ==> está vacía

Comandos para manipulación de strings

len
Devuelve la longitud de un  string
longitud=len(string)


Upper  Ucase Lower Lcase
Upper y Ucase son sinónimos y convierten una string a mayúsculas
Lower y lcase son sinónimos y convierten  una  string a minúsculas.
Estos comandos no funcionan con UTF-8

Trim ltrim rtrim
Quita espacios en la string.
ltrim ====> quita los espacios a la izquierda hasta el primer caracter no espacio
rtrim ====> quita los espacios a la  derecha hasta el primer caracter no espacio
trim ====> quita los espacios a la  izquierda y a la  derecha

left, mid, right
Aquí hay serias diferencias con VB

x=left(string,4) ====> extrae los cuatro primeros caracteres por la izquierda
x=left(string) ====> extrae el primer caracter de la izquierda
x=left(string,-5) ====> Si el número de caracteres es negativo entonces indica el número de caracteres a no extraer
left("pepito grillo".-7)="pepito")
x=mid(string,inicio,longitud) ====> extrae a partir de inicio los caracteres especificados en longitud
x=mid(string,inicio) ====> extrae todo desde la posicion inicio
x=mid(string,inicio,-longitud) ====> si la longitud es negativa entonces indica la cantidad de caracteres partiendo de la derecha a no extraer
mid("pepito grillo",2,-7)="epito"
x=right(string,4) ====> extrae los cuatro primeros caracteres de la derecha
x=right(string) ====> extrae el primer caracter de la derecha
x=right(string,-5) ====> Si el número de caracteres es negativo entonces indica el número de caracteres a no extraer
right("pepito grillo",-7)="grillo"

space
crea  un string con X espacios
string="Perico" & spaces(10) ====> "Perico          "

replace
reemplaza  ca da ocurrencia de la plantilla por lo indicado
stringa =replace(strin gb,plantilla ,reemplazo)
stringa =replace("abcdef","bc","xx") ====> stringa="axxdef"

string
devuelve un string con X  veces la  cadena propuesta
cadena=string(10,".") ====> cadena=".........."

instr rinstr
devuelve la posición  de la primera ocurrencia de su bstring en  la cadena
rinstr igual pero por la  derecha
posicion=instr("0123456789","23") ====> posición = 3
posicion=rinstr("0123456789","23") ====> posición = 6

split
divide una string en varias separadas por un separador indicado.

dim array as string[]
array=split(string,"|")


asc chr
¡Ojo! gambas funciona con  UTF-8. Los caracteres del ascii extendido (por encima del 128) no funcionarán  bien.
asc(x) devuelve el código ascii de X
chr(x) devuelve el ca racter que corresponde al código ascii X

Bin
Devuelve un string que es la  conversión al binario de un valor
x=bin(y) ====> x = valor binario de y

hex
Devuelve un string qu e es la  conversión al hexadecimal de un valor
x=hex(y) ====> x = valor hexadecimal de y

str$ val
str convierte un valor numérico a string
val convierte un string en un valor numérico respetando las especificaciones del país de fecha s y números

SConv
Convierte una expresión  UTF-8 al juego de caracteres del sistema

Dconv
Convierte una expresión  del juego de caracteres del sistema a  UTF-8

Conv
Convierte una expresión  de un  sistema de caracteres a otro

format
formatea  un valor con un determinado formato.
Los formatos predefinidos son :
gb.GeneralNumber ====> escribe con doce dígitos decimales. Si el número es muy grande o muy pequeño lo
convierte a formato científico.
gb.fixed ====> equivale a "0.00 "
gb.percent ====> equivale a  "###%"
gb.generaldate ====> escribe la fecha solo si tien e info de fecha . Escribe la hora solo si tiene in fo de h ora.
gb.longdate ====> fecha larga
gb.mediumda te ====> fecha  media
gb.shortdate ====> fecha corta
gb.longtime ====> h ora larga
gb.mediumtime ====> hora media
gb.shorttime ====> h ora corta
gb.currency ====> usa el símbolo de mon eda na ciona l
gb.interna ciona l ====> usa el símbolo internacional de moneda

Operadores

Concatenar strings
string3=string1 & string2
string1 &=string2    ====> string1 = string 1 & string2

Búsqueda de subcadenas
string like plantilla

Comparación de cadenas
string <> string ====> true si son distintas
string1 < string2 ====> true si string1 es mas corta que string2
string1 <= string2 ====> true si string1 es menor o igual que string2

 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario