[Ajuda] Dividir strings
#1

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.
Reply
#2

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).
Reply
#3

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.

Reply
#4

Muito obrigado aos dois, jб consegui!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)