SA-MP Forums Archive
[Ajuda] Como faзo para pegar apenas um trecho de uma string - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Como faзo para pegar apenas um trecho de uma string (/showthread.php?tid=468656)



Como faзo para pegar apenas um trecho de uma string - Jarbas - 09.10.2013

Boa tarde.

Gostaria de saber como posso pegar apenas uma parte da string. Por exemplo, eu gostaria de pegar apenas a parte Valor, no caso seria 300 da seguinte string:
"Tipo: objeto - Valor: 300 - Num: 3 - Disponнvel"

Obrigado.


Re: Como faзo para pegar apenas um trecho de uma string - GM_KoDi - 09.10.2013

https://sampwiki.blast.hk/wiki/Strmid


Re: Como faзo para pegar apenas um trecho de uma string - Abravanel - 09.10.2013

Coloca um $ antes para facilitar na procura...
pawn Код:
test("Tipo: objeto - Valor: $300 - Num: 3 - Disponнvel");

test(string[128]) {
    new
        __i = -1,
        __b[sizeof(string)];
    while (++__i < strlen(string)) {
        if (string[__i] == '$') {
            strmid(__b, string, __i, __i+strlen(string));
            new
                __f = -1;
            while (++__f < strlen(__b)) {
                if (__b[__f] == '-') {
                    strdel(__b, __f, strlen(__b));
                }
            }
            format(__b, sizeof __b, "Valor: %s", __b);
            print(__b);
        }
    }
    return 1;
}



Re: Como faзo para pegar apenas um trecho de uma string - Schocc - 09.10.2013

strlen: Vocк usaria para pegar o tamanho total da string.
strfind: Vocк usaria para para localizar certa palavra "300"
strmid: Vocк usaria para para retirar certa palavra "300", de uma string ou corda.

Espero ter ajudado


Re: Como faзo para pegar apenas um trecho de uma string - Jarbas - 09.10.2013

Quote:
Originally Posted by O_KoDi
Посмотреть сообщение
Quote:
Originally Posted by Abravanel
Посмотреть сообщение
Coloca um $ antes para facilitar na procura...
pawn Код:
test("Tipo: objeto - Valor: $300 - Num: 3 - Disponнvel");

test(string[128]) {
    new
        __i = -1,
        __b[sizeof(string)];
    while (++__i < strlen(string)) {
        if (string[__i] == '$') {
            strmid(__b, string, __i, __i+strlen(string));
            new
                __f = -1;
            while (++__f < strlen(__b)) {
                if (__b[__f] == '-') {
                    strdel(__b, __f, strlen(__b));
                }
            }
            format(__b, sizeof __b, "Valor: %s", __b);
            print(__b);
        }
    }
    return 1;
}
Obrigado aos dois . Funcionou seu cуdigo Abravanel, muito obrigado .

Quote:
Originally Posted by Schocc
Посмотреть сообщение
strlen: Vocк usaria para pegar o tamanho total da string.
strfind: Vocк usaria para para localizar certa palavra "300"
strmid: Vocк usaria para para retirar certa palavra "300", de uma string ou corda.

Espero ter ajudado
Mas eu nгo queria sу localizar o 300, porque sгo vбrias linhas igual aquelas com valores de 0 а 100000 . Foi apenas um exemplo o 300 mas mesmo assim, obrigado