Extraer números de una cadena con Power Builder

Bueno con este material les mostrare como extraer solamente los caracteres numéricos de una cadena de texto.
Primeramente crearemos una función que se llame por ejemplo fn_devolver_solo_nro()
Return: double
Parámetros:
Pass by: value - Type: string - Name: cadena


// Funcion para retornar solamente caracteres numéricos de una cadena
// @author: Robert Galeano Fernández - @rgfpy
// Version: 18-08-2011 10:25
string vretorna
long cant_letras, i
string parte_letra

cant_letras = len(cadena)

FOR i=1 to cant_letras
  parte_letra = mid(cadena, i, 1)
  
  IF isNumber( string(parte_letra) ) then
    vretorna += parte_letra
  END IF
NEXT

return double(vretorna)

Bueno recibimos como parámetro en la variable cadena el valor del texto el cual procesaremos en el script. La idea básica es conocer cuantas caracteres posee la cadena y de ahí pasar a recorrer cada una de ella e ir preguntando si ese carácter es del tipo numérico y si lo es ir almacenando para luego devolver los caracteres almacenados.

Explicando un poco el codigo con la funcion len() obtenemos la cantidad de caracteres de una cadena de texto, luego con el ciclo FOR ejecutamos asta esa cantidad. Con la funcion mid() obtenemos parte de una cadena en este caso en la posicion de nuestro vector i con una unidad, con la funcion isnumber() nos devuelve true en caso de que sea numerico la cadena que le pasemos como parametro.

Ejemplo de uso:

string cadena_string
integer cadena_int
cadena_string = 's1o2u3r4c5e6p7y'
cadena_int = fn_devolver_solo_nro(cadena_string)
messageBox('Result', cadena_string +' - '+ string(cadena_int))

Comentarios

  1. Casinos & Casinos | Dr.md.com
    Explore our latest 춘천 출장샵 slot machine games, video poker machines, progressive jackpots, The casino offers 진주 출장안마 over 100 slots 전라남도 출장샵 and casino 경상북도 출장안마 table games including 인천광역 출장샵

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Obtener el anterior y siguiente registro de una tabla MySQL con PHP