Página 1 de 1

Duda sobre como filtrar un String.

Publicado: 12 Sep 2010, 19:35
por dertin
Hola :smt039 Buenas son nuevo programando en Autoit y tengo muchas dudas, aqui una de ellas, bueno tengo este codigo sin terminar y se me complica a la hora de utilizar Expresión regular, es lo que me esta faltando, como ven en el comentario quiero filtrar de espacios y caracteres raros (no alfanumericos) la variable $UserName. el resto del codigo aun no lo eh probado, se los dejo por si encuntran algo a simple vista que no este bien. Bueno gracias por leerme! :smt002

Aqui el codigo, ( registra un usuario en el formulario web http://ip.globalpatrol.net/rds/ ):

Código: Seleccionar todo

Dim $UserName = @ComputerName & @UserName & @SEC ; Falta filtrar espacios y caracteres raros (no alfanumericos).
Dim $host = "http://ip.globalpatrol.net"
Dim $page = "/rds/register.php"
$vars = "username=" & $UserName & "&password1=xxxx&password2=xxxx&fullname=ElcodigoDaVinci&[email protected]"
$url = $page & "?" & _HTTPEncodeString($vars)
$socket = _HTTPConnect($host)
$get = _HTTPGet($host, $url, $socket) ; OR _HTTPPOST
_HTTPClose($socket)
Gracias!

Re: Duda sobre como filtrar un String.

Publicado: 13 Sep 2010, 04:27
por Chefito
Puedes sustituir los caracteres no deseados por nada (""). Para hacer esto lo puedes realizar con la función StringRegExpReplace.
En el caso de querer quitar todos los caracteres que no sean alfanuméricos (los espacios no lo son), puedes emplear la expresión regular de caracteres de clase [^[:alnum:]]. Esto significa que no sustituya (^ es el símbolo de negación) los caracteres alfanuméricos.
Sabiendo todo esto ya podemos filtrar:

Código: Seleccionar todo

$UserName=StringRegExpReplace($UserName,'[^[:alnum:]]','')
Saludos.

Re: Duda sobre como filtrar un String.

Publicado: 13 Sep 2010, 14:10
por dertin
Gracias por tu respuesta, es lo que estaba buscando aprender, fue muy clara tu explicacion! te agradezco. :smt001