Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera estou querendo transformar uma string em array.
Mas estou tendo um certo problema com o split, porque ele encontrar todos os resultados em vez de parar após o primeiro.
Eu gostaria que ele dividisse uma string em array em dois pedaços, ou seja, ele converta a string em array só na primeira ocorrência.
Ex:
Tenho uma string: "arquivo.php?title=Título do arquivo&content=Esse será o conteudo da página? encontramos mais uma vígula. Bla bla bla..."
Percebe-se a ocorrência de duas vírgula nesta string. Então se eu usar a função .split() o resultado não seria o esperado.
COMO FAÇO PARA QUE O SPLIT RECONHEÇA SOMENTE A PRIMEIRA OCORRÊNCIA E CONVERTA A STRING?
Grato desde já pela ajuda dos senhores...
Descupe Marlon Pacheco, fiz este post umas 3 da manhã. :D
Onde esta escrito vírgula entenda-se interrogação.
O código era este mesmo:
"arquivo.php?title=Título do arquivo&content=Esse será o conteudo da página? encontramos mais uma vígula. Bla bla bla...".split("?")
split() aceita um parâmetro opcional de limite, então defina como 1, que ele vai só até a primeira ocorrência
<script>
var str = "arquivo.php?title=Título do arquivo&content=Esse será o conteudo da página? encontramos mais uma vígula. Bla bla bla...";
var res = str.split('?',1);
alert(res);
</script>
Syntax
str.split([separator][, limit])
Electronic, vc não entendeu.
Eu preciso que o split divida a string em dois. Mas se utilizando somente do primeiro ponto de interrogação.
IndexOf() Retorna a posição da primeira ocorrência de uma subcadeia.
sabendo da posição, podemos saparar apartir dela com
slice() Extrai parte de uma string e retorna uma nova string
<script>
var str = "arquivo.php?title=Título do arquivo&content=Esse será o conteudo da página? encontramos mais uma vígula. Bla bla bla...";
var pos = str.indexOf('?');
var parte1 = str.slice(0, pos)
var parte2 = str.slice(pos);
alert(parte1);
alert(parte2);
</script>Electronic, não teria uma forma mais curta não?
Sei que pode-se utilizar expressão regular no split.
não teria alguma forma mais simples.....
Cara, com expressão regular não sei como poderia ser feito, fiz um teste mas deu a mesma coisa que o meu primeiro exemplo e também desaparece o '?' (talvez eu não soube fazer).
mas pra encurtar o 2º exemplo da pra fazer:
<script>
var str = "arquivo.php?title=Título do arquivo&content=Esse será o conteudo da página? encontramos mais uma vígula. Bla bla bla...";
var pos = str.indexOf('?');
var partes = [str.slice(0, pos), str.slice(pos)];
</script>
ai tu tem um array com as 2 partes
alert(partes[0]);
alert(partes[1]);
Ou com menos linhas, mas mais repetitivo
<script>
var str = "arquivo.php?title=Título do arquivo&content=Esse será o conteudo da página? encontramos mais uma vígula. Bla bla bla...";
var partes = [str.slice(0, str.indexOf('?')), str.slice(str.indexOf('?'))];
</script>
Buenas tchê.
Estou tentando encontrar as vírgulas na sua string ainda.
Posta o código que você tem. Assim fica mais fácil de ajudar.