Vaya nombrecito el del post xD, no había una forma más "corta" de definirlo xDDD
Autor: Yo :v (NiuWeb)
Versión de GM utilizada: 1.4.1657
stable versionDescripción: Alternativa mejorada de la función propia del GM
string_pos(). Busca las coincidencias de una substring en una string y devuelve la posición de las mismas en un array unidimensional.
La substring puede ser tanto un solo caracter como varios; si es una cadena con más de 1 caracter, el script la buscará igualmente, y devolverá la posición del primer caracter en donde la haya encontrado, por ejemplo: Si busco "gato" en la string "el gato vuela, es un gato volador porque gustavo lo vio volar", el script me devolverá la posición de la "g" de la primera coincidencia de "gato" (es decir, la posición 4) y la "g" de la segunda coincidencia de "gato" (es decir, la posición 22).
De no encontrar la cadena buscada, el script devolverá 0.
Código:[gml]
///string_pos_fixed(str, substr);
var str = argument0;
var substr = argument1;
var lenght = string_length(str);
var arr = 0, c, m;
for(var i = 1; i <= lenght; i++)
{
if string_length(substr) == 1
{
c = string_copy(str,i,1);
if c == substr
{
if is_array(arr)
arr[array_length_1d(arr)] = i;
else
arr[0] = i;
}
}
else
{
m = string_copy(str,i,string_length(substr));
if m == substr
{
if is_array(arr)
arr[array_length_1d(arr)] = i;
else
arr[0] = i;
}
}
}
return arr;
[/gml]
Argumentos:[gml]
string_pos_fixed(str, substr);
[/gml]
str: | La cadena en donde buscar coincidencias |
substr: | La cadena a buscar |
Espero pueda ser de utilidad para alguien, no olviden dar créditos si lo desean :B