[DUDA] Obtener caracteres especificos de un string. -
Randomize - 08.08.2014
Hola a todos, les dejare planteada esta duda espero me ayuden.
Tengo un string
"Hola soy Randomize", pero quiero que solo quede la palabra "
soy" por lo tanto debo eliminar
"Hola" y
"Randomize" del string o simplemente tomar "
soy"
їalguna idea de como hacerlo?.
La palabra
"Hola" ocupa
5 espacios (contando el espacio despuйs de la palabra), luego la palabra "
soy" que ocupa del espacio
6 hasta el 8 y la palabra
"Randomize" ocupa desde el
9 hasta el 18 (contando el espacio antes de la palabra).
Con esto sabemos que debemos tomar del 6 al 8 o eliminar del 1 al 5 y del 9 al 18.
Espero haberme explicado bien, gracias de antemano.
Respuesta: [DUDA] Obtener caracteres especificos de un string. -
Parka - 08.08.2014
strfind y strdel.
pawn Код:
//ejemplo
if(strfind("Are you in here?", "you", true) != -1) //returns 4, because the start of 'you' (y) is at index 4 in the string
{
SendClientMessageToAll(0xFFFFFFFF, "I found you!");
}
pawn Код:
new string[42] = "We will delete everything apart from this";
strdel(string, 0, 37); // string is now "this"
Respuesta: [DUDA] Obtener caracteres especificos de un string. -
OTACON - 08.08.2014
https://sampwiki.blast.hk/wiki/Strfind
https://sampwiki.blast.hk/wiki/strdel
Respuesta: [DUDA] Obtener caracteres especificos de un string. -
Randomize - 08.08.2014
Gracias a ambos, ya tenia una idea de que usaria
strdel, no tengo idea del
strfind la verdad no lo entiendo, entonces analizo el cуdigo:
Quote:
new string[42]
Un string de 42 caracteres en este caso "We will delete everything apart from this".
|
Quote:
strdel(string, 0, 37)
Elimino hasta el carбcter numero 37 en este caso "We will delete everything apart from "
|
Ahora tengo una duda, їComo tomo la palabra
"everything"? lo que intento es tomar una palabra que este en medio, no la ultima ni la primera, para eso usariamos 2 veces
strdel.
pawn Код:
strdel(string, 0, 15); // elimina "We will delete "
strdel(string, 26, 41); // elimina "apart from "
Asн podrнa eliminar el texto alrededor y dejar los caracteres desde el
16 hasta el
25 que seria "
everything" pero sucede que al testear solo me leyу el primer
strdel el segundo lo ignora, entonces me arrojaba "
everything apart from this" eliminando solo "We will delete " (el primer
strdel), sugerencias?, otro mйtodo?.
Gracias de antemano!
Respuesta: [DUDA] Obtener caracteres especificos de un string. -
Parka - 08.08.2014
Si no me equivoco ya al usar primera vez strdel, cambia el tamaсo del string(Creo).
Para extraer palabras usa Strmid
Re: [DUDA] Obtener caracteres especificos de un string. -
Daniel-92 - 08.08.2014
Estas intentando buscar una palabra en especifico? o solo buscas separar el "espacio" por ejemplo solo quieres separar la palabra que esta en 4to lugar, o precisamente tiene que ser la palabra
everything?
Solucionado: [DUDA] Obtener caracteres especificos de un string. -
Randomize - 08.08.2014
Quote:
Originally Posted by Daniel-92
Estas intentando buscar una palabra en especifico? o solo buscas separar el "espacio" por ejemplo solo quieres separar la palabra que esta en 4to lugar, o precisamente tiene que ser la palabra everything?
|
No es una palabra en especifico es una palabra cualquiera definida por el usuario en un
DIALOG_STYLE_INPUT por ejemplo.
Supongamos que el texto introducido en el dialog es "
Palabra" entonces tendrнa un string de 8 chars y quiero tomar los chars
3 y
4 que serian "
la" que esta en medio de "
Pa" y "
bra", їcomo lo harнa?.
Gracias de antemano.
EDIT
Lo logre, gracias Parka no habнa visto tu respuesta, lo que logre fue esto:
pawn Код:
new string[26]; // string 26 chars
strmid(string, "Muchas gracias Parka +rep", 15, 20); // chars desde 15-20
SendClientMessage(playerid, color, string);
De esa manera tome los caracteres del
15 al
20 y quedo solo "
Parka".
La soluciуn estaba a nuestras narices, descripciуn de
strmid: "Extracto de una serie de caracteres de una cadena." tema solucionado muchas gracias a todos.