[Ajuda] Dividir strings - 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] Dividir strings (
/showthread.php?tid=586780)
Dividir strings -
bruxo00 - 25.08.2015
Hб alguma maneira de dividir uma string com vбrias linhas em que coloque uma linha dentro de outra string? Por exemplo, tenho a string:
linha1
\nlinha2
\nlinha3
\nlinha4
\nlinha5
Usando o
\n como "divisor de linhas", й possнvel escolher por exemplo a linha 2 e setar o valor da linha 2 numa string? Tipo "
GetLine(str[], line); " e usava-se
GetLine(string, 2); e a funзгo retornava o valor da linha dois que neste caso й
linha2.
Re: Dividir strings -
Nixtren - 25.08.2015
Gosto muito do include
strlib, este oferece algumas funзхes interessantes para manipular strings, foi inspirado nas funзхes do PHP. Podes usar a funзгo "explode" para separar a string numa array, e depois no final usas "implode" para juntar a array numa string.
O que vai acontecer:
String = linha1\nlinha2\nlinha3\nlinha4\nlinha5
explode
Array[0] = linha1
Array[1] = linha2
Array[2] = linha3
etc
Assim, para escolher a linha 2 usas Array[2-1]. Depois, efetuas as alteraзхes que tiveres de efetuar, e de seguida, usas a funзгo implode para converter a array em string novamente.
Em PHP ficaria:
Код:
$string = "linha1\nlinha2\nlinha3\nlinha4\nlinha5"
$stringExploded = explode("\n", $string);
$stringExploded[1] = "linha2_modificada";
$string = implode("\n", $stringExploded);
Dei o cуdigo em PHP porque estou mais habituado, mas a lуgica й a mesma em Pawn (com o strlib).
Re: Dividir strings -
Gii - 25.08.2015
PHP код:
#include a_samp
#include sscanf2
main() {
new str[] = "linha1\nlinha2\nlinha3\nlinha4\nlinha5";
new array[5][10];
sscanf(str, "p<\n>a<s[10]>[5]", array); // 10 й o tamanho mбximo do texto em cada linha, e 5 o nъmero total de linhas
print(array[1]); // linha que vocк quer - 1
}
Simples.
Re: Dividir strings -
bruxo00 - 25.08.2015
Muito obrigado aos dois, jб consegui!