Muy buenas a todos, hace tiempo que me paso por aquí de visita pero hoy quiero hacer una pequeña aportación de un script que he creado.
Creador
Héctor Costa
Descripción
Es un script que formatea una cadena de texto borrando los caracteres especiales y los espacios, dejando únicamente alfanuméricos. Yo lo utilizo conjunto a las funciones asíncronas de GM:S que leen strings desde el teclado de Android para poder manejar correctamente un registro y su autenticación de usuarios.
Versión
Game Maker: Studio
Script
/// format_string(argument0)
// argument0 - string: cadena a formatear
var i,s="";
for (i=1;i<=string_length(argument0);i+=1){
val = ord(string_char_at(argument0,i));
char = string_char_at(argument0,i);
if ( val >= 65 && val<= 90 || val >= 97 && val <= 122 || val >= 48 && val <= 57) {
s += char;
}
}
return s;
Ejemplo
text = format_string("aeiou AEIOU áéíóú ñç*+012345");
// text valdrá: aeiouAEIOU012345
Explicación
En realidad el funcionamiento es muy sencillo, pues lo único que hace es comprobar el valor ordinal de cada carácter en la cadena (su valor ASCII) y recrear la cadena final con los que cumplen las condiciones A-Z,a-z,0-9.
Adjunto una tabla con los valores ASCII de todos los caracteres por si queréis adaptar el script a vuestro gusto:
(http://www.derekyu.com/tigs/forums/tutorials/gmtut/gmtut-020.png)
Saludos :)