O que eu sugeri aqui no primeiro passo é criar uma função ou um método que implemente a feature. Então eu tenho que pensar em uma função que eu vou desenvolver que vai fazer o quê para mim? Que vai a partir do arquivo de transcrição, um arquivo desta forma, separar para mim os nomes das pessoas que falaram.
Então, como é que a partir do deste desse eu consigo extrair esses nomes? Eu posso, por exemplo, olhar a linha linha do arquivo e olha, as linhas que começa com o número são coisas relacionadas a ao registro de tempo, né? Quando a pessoa iniciou a fala, quando a pessoa terminou a fala.
Então, as linhas que não tem nada não me importam, as linhas que começam com dígito não me importam. O que me importa são as linhas que começam com alguma letra, né, de A a Z. São nome de pessoas.
Nessas linhas em nome de pessoas, elas são a sequência de letras, espaços em brancos e a informação termina de ser útil para mim quando começam dois pontos. Então eu posso ler as linhas do meu arquivo de linha a linha. Se a linha tá em branco, não me importa.
Se a linha tem começa com disco, não me importa. Se a linha começa com alguma letra latina, ou seja, alguma letra é importante para mim e eu preciso olhar aquela linha até achar um dois pontos. Quando acham dois pontos, eu com certeza consegui selecionar ali o nome da pessoa.
Então é nessa busca. Aí tem várias metodologias para tentar extrair o nome dessa pessoa. Você pode olhar, né, usar os métodos index, off, eh, se mat, várias metodologias.
Aí eu vou deixar essa missão por tua conta, tá bom? Ã, a forma mais rápida, mais prática, mais profissional de fazer isso é o jox, né? As expressões regulares.
E aqui eu fiz uma implementação rapidinha, só para a gente ter alguma coisa. Ó, a minha função, a minha feature, eu implementei isso como uma função JavaScript, dei o nome qualquer e ela vai receber um texto. Esse texto, dentro desse texto, eu vou procurar lá esses padrões que a gente viu.
Aqui tem uma expressão regular que tem esse padrão. Eu tô procurando uma linha que começa com letras e espaços e termina com dois pontos. Ah, aqui é a carinha de expressões regulares dentro do JavaScript.
Ah, então tem uma carinha ligeiramente diferente, mas é fácil você adaptar as coisas. Eh, eu quero alguma coisa que seja um não dígito, ou seja, é um caracter que não é dígito, logo é letra. Aí ele pode pode vir qualquer coisa e ele vai parar de procurar com a dois pontos.
E eu vou olhar isso em todo o arquivo. Aí eu vou lá, pego o texto e procuro, mando, utilizando aqui a API de reje dizendo: "Ei, procura para mim todos os padrões que seguem essa expressão regular lá", ou seja, a lista de nomes. Aí eu faço dessa lista de nomes eh um vetor.
E aqui eu tenho um vetor com os nomes, né, das pessoas presentes. Ah, pode ser que no nome da pessoa, lá no finalzinho do nome tenha os caracteres, os passos brancos ou caracteres de nova linha. Eu vou lá e tomo cuidado de apagar esse caractere em banco ou essa nova linha.
Ah, o a mesma pessoa pode falar várias vezes, né, no decorrer do texto e para mim não me importa isso, só importa uma vez. Então eu vou utilizar aqui uma estrutura de dados de conjunto para listar o nome das pessoas. Se eu adicionar nesse conjunto duas vezes o mesmo nome, ã, ela vai ignorar e vai ficar só com uma única ocorrência desse nome.
Então, por exemplo, se o Gerson falou quatro vezes lá, no final vai aparecer o nome do Gerson apenas uma vez. Então, observe que eu tô tomando ali umas liberdades de tornar essa lista mais inteligente possível, né, mais curtinha. Ah, aí no final eu ordeno aqui, ó, em ordem alfabética, é um critério aí opcional e retorno essa lista.
Então, basicamente essa função tá o quê? Pegando o conjunto de texto, procurando lá dentro esse padrão que a gente acabou de identificar, linha, linha, que só me importa as linhas que começa com letras e eu começo a pegar o nome da pessoa até achar os dois pontos. Quando acha dois pontos, eu sei que o nome da pessoa acabou.
Toma os cuidados aqui de limpar. Vai que tem um espaço em branco sem querer. Vai que tem um novo linha.
Ahã. Cuida aqui também se tem o nome da pessoa ocorre mais de uma vez e ignora quando ocorre mais de uma vez usando aqui essa estrutura de dados que é o conjunto do JavaScript. Depois vou lá e ordeno isso em ordem alfabética.
Aí é opcional também e retorno essa lista. Então o fato é a minha feature tá aqui. É uma função que recebe um texto e extrai para mim uma lista de nomes.
Beleza? Cumprir o passo um. Qual é o próximo passo?
O próximo passo seria criar um script, né, um outro arquivo de script, onde eu vou usar essa funcionalidade, essa feature. Vamos dar uma pausinha, deixa eu programar e a gente volta. M.