Conversão de split para frase

1 resposta
javascriptprogramaçãojava
C

Amigos, boa tarde! Tenho uma extensão pronta para meu uso.
Ela identifica uma palavra especifica e faz a conta de quantidade! Porém eu gostaria de fazer com que ela não pegasse uma palavra em especifico e sim uma frase para adicionar condições! Um exemplo.
Ela identifica a quantidade de user.
Porém dentro desse user tem 2 diferenças.
User > C.
User > V.

No caso, o C significa Encerramento Clain e V significa Encerramento ao Volt.
Eu gostaria que:
Ela realizasse a contabilização do User + As frases citadas acima.

Exemplo:
Total de User 55.
Total de encerramento Clain 15.
Total encerramento ao Voilt 5.

Vou mostrar o que já tenho para vocês, treewalker:

var nodeReject = {
  acceptNode: function(node) {
    if(!node.parentNode.nodeName.match(/SCRIPT|STYLE|CODE/))
      return NodeFilter.FILTER_ACCEPT;
  }
};

function treeWalker(ele) {
  var nodes = document.createTreeWalker(ele, NodeFilter.SHOW_TEXT, nodeReject, false);
  var text = [];
  regex = new RegExp(/^['"!@#$£%¢¬&*()\-_+=§`´{[^~\]}<,.>;:\/°?|\d]+|['"!@#$£%¢¬&*()\-_+=§`´{[^~\]}<,.>;:\/°?|\d]+$/g);

  while(node = nodes.nextNode()) {
    var words = node.data
                    .split(/\s/)
                    .map((str) => str.replace(regex, ''))
                    .filter((str) => !!str);

    text = text.concat(words)
  }
  return text;
}


var nodes = treeWalker(document.body);

var words = []

nodes.forEach( (text) => {
  var word = text.toLowerCase();

  var wordIndex = words.findIndex( (w) => w.word == word );

  if(word == "user") {
      
      word = "Casos respondidos";
        
      wordIndex = words.findIndex( (w) => w.word == word );
      if(wordIndex >= 0) {
        words[wordIndex].counter = words[wordIndex].counter + 1;
      }
      else {
        words.push({word: word, counter: 1});
      }
    }

});

words = words.sort( (a, b) => b.counter - a.counter );

chrome.runtime.sendMessage({ words: words });

Poderiam me ajudar?

1 Resposta

C

Já tentei colocar // no Split.
Colocar “palavra”+“palavra”+“palavra”}

Mas não deu certo!
Alguém? :slight_smile:

Criado 2 de maio de 2019
Ultima resposta 2 de mai. de 2019
Respostas 1
Participantes 1