Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre o ( / \S+/ )

Gostaria de entender melhor o funcionamento dessa Expressão Regular no código. Ela quebra a linha a cada espaço(como no split(" "); ), porém não entra no contador de palavras?

var conteudo = campo.val(); 
var qtdPalavras = conteudo.split(/\S+/).length - 1;
$("#contador-palavras").text(qtdPalavras);
2 respostas
solução!

Fala Ricardo,

Tranquilo?

A Função split irá separar o valor do conteudo em um array, por exemplo:


var conteudo = "a ab abb abb"; 
var qtdPalavras = conteudo.split("a");
console.log(qtdPalavras);

//Resultado
["", " ", "b ", "bb ", "bb"]

Ou seja, ele irá percorrer a string procurando pelo padrão informado no parâmetro, no meu exemplo é o caractere a, então ele vai percorrendo e vai separando e retirando esse caractere do array.

Exemplificando esse caso ele fez o seguinte:

"a ab abb abb" -> ", ,b ,bb ,bb" -> ["", " ", "b ", "bb ", "bb"]

Espero que tenha entendido e não ter te confundido mais hehe.

No final ele tira 1 pois como no exemplo, ele separou em 5 strings, mas na verdade são só 4.

Abraços!

Tranquilo Luiz Fernando e você?

Não, você não me confundiu mais, na verdade você conseguiu expandir minha mente para que eu entendesse perfeitamente.

Obrigado por responder!!!

Abraços