Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''scala''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Calendários

  • Comunidade iMasters

Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento Web
    • Desenvolvimento frontend
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets e outros ambientes
    • Desenvolvimento com Wordpress
    • Desenvolvimento de apps
    • Desenvolvimento ágil
    • Desenvolvimento de Games
    • Banco de Dados
    • Design e UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • Boteco iMasters

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 1 registro

  1. altyouth

    Expressões Regulares

    Tenho um código que le um arquivo csv e tenho expressões regulares pra encontrar determinados trechos. Pois bem, o código capta a maioria, mas tem alguns que nao são capturados msm seguindo a mesma regra das outras. O codigo esta em Scala formato do arquivo csv: Relatório de Controle de Ponto (por período);;;;;;;;;;;;;;;;;;;;;;;;;;; ;Empregador:;;;;CASTAWARE SOLUTIONS INC.;;;;;;;;;;;;CNPJ:;;;;;;1234567890;;;; ;Endereço:;;;;CastaStreet, 1234 - Hawai;;;;;;;;;;;;Unidade:;;;;;;;;;; ;Período:;;;;;01/09/2019;;;a;;14/09/2019;;;;;;Emitido em:;;;;;;14/setembro/2019;;;; ;Matrícula:;;;;1;;;;;;;;;;;;Admissão:;;;;;;01/junho/2016;;;; ;Escala atual:;;;;08:00 Livres Almoço Flex Seg---- / Sáb-Dom Repouso;;;;;;;;;;;;Demissão:;;;;;;;;;; ;Cargo:;;;;;;;;;;;;Função:;;;;;;;;;;;;;; ;Empregado:;;;;Roberto Gomes Soares;;;;;;;;;;;;;;;;;;;;;; Dia;;;"Jornada realizada ENTR. SAIDA ENTR. SAIDA";;;;;;; Turno;;;Jornada Diurna/Not.;;"Extra Diurno/Not.";;;;;;Devido;Abono;;Desab;;; Justificativa 01/09 - dom;;;;;;;;;;(R) ;;;;;;;;;;;;;;;;; 02/09 - seg;;;10:25 12:34 13:35 18:28;;;;;;;8:00h Livre (intervalo 12:00-13:00 [flex]);;;07:02;00:00;00:00;;;00:00;;;00:58;;;;;; 03/09 - ter;;;09:18 12:04 13:23 19:33;;;;;;;8:00h Livre (intervalo 12:00-13:00 [flex]);;;08:00;00:00;00:56;;;00:00;;;00:00;;;;;; 04/09 - qua;;;09:37 11:16 11:56 18:51;;;;;;;8:00h Livre (intervalo 12:00-13:00 [flex]);;;08:34;00:00;00:00;;;00:00;;;00:00;;;;;; 05/09 - qui;;;09:47 12:18 13:15 18:16;;;;;;;8:00h Livre (intervalo 12:00-13:00 [flex]);;;07:32;00:00;00:00;;;00:00;;;00:00;;;;;; 06/09 - ---;;;08:54 11:13 11:58 16:12;;;;;;;8:00h Livre (intervalo 12:00-13:00 [flex]);;;06:33;00:00;00:00;;;00:00;;;01:27;;;;;; 07/09 - sáb;;;;;;;;;;(R) ;;;;;;;;;;;;;;;;; 08/09 - dom;;;;;;;;;;(R) ;;;;;;;;;;;;;;;;; 09/09 - seg;;;09:22 11:40 12:44 19:07;;;;;;;8:00h Livre (intervalo 12:00-13:00 [flex]);;;08:00;00:00;00:41;;;00:00;;;00:00;;;;;; 10/09 - ter;;;;;;;;;;(F) 8:00h Livre (intervalo 12:00-13:00 [flex]);;;00:00;00:00;00:00;;;00:00;;;08:00;;;;;; 11/09 - qua;;;;;;;;;;(F) 8:00h Livre (intervalo 12:00-13:00 [flex]);;;00:00;00:00;00:00;;;00:00;;;08:00;;;;;; 12/09 - qui;;;;;;;;;;(F) 8:00h Livre (intervalo 12:00-13:00 [flex]);;;00:00;00:00;00:00;;;00:00;;;08:00;;;;;; 13/09 - ---;;;10:58 11:35 12:32 18:45;;;;;;;8:00h Livre (intervalo 12:00-13:00 [flex]);;;06:50;00:00;00:00;;;00:00;;;01:10;;;;;; 14/09 - sáb;;;;;;;;;;(R) ;;;;;;;;;;;;;;;;; ;Jornada + Abono;;;;;;;Jornada total;;;;52:31 (52,52);;;;00:00 (0,0);;;;;;;;;Jornada noturna;; ;52:31 (52,52);;;;;;;Extra total;;;;01:37 (1,62);;;;;;;;;;;;;;; ;Trabalhado (Jor.+Ext.);;;;;;;Atraso efetivo;;;;00:00 (0,0);;;;00:00 (0,0);;;;;;;;;Antecipação efetiva;; ;54:07 (54,13);;;;;;;Devido;;;;27:34 (27,58);;;;00:00 (0,0);;;;;;;;;Abonado;; ;Faltas;(horas);;;;;;Devido (s/faltas);;;;03:34 (3,58);;;;00:00 (0,0);;;;;;;;;Abonado (s/faltas);; ;3;24:00 (24,0);;;;;;Extra efetivo;;;;01:37 (1,62);;;;00:00 (0,0);;;;;;;;;Desabonado;; ;Dias;Feriados trab.;;;;;;Devido efetivo;;;;27:34 (27,58);;;;03:35:00;;;;;;;;;Devido efet(s/faltas;; ;14;0;;;;;;Dias escalados;;;;10;;;;-25:58 (-25,97);;;;;;;;;Saldo de Horas;; ;;;;;;;;BdH Acumulado;;;;-328:10 (-328,17);;;;80:00 (80,0);;;;;;;;;Horas programadas;; Controle de Extra;;;;;;;;;;;;;;;;;;;;;;;;;;; Jornada;;;;;;;Jornada de trabalho;;;;;;;;;;;;;;;;;;;52:30 (52,52); Assinatura Gestor/Supervisor;;;;;;;;;;;;;;;;;;;Assinatura;;;;;;;; No codigo eu pego as infos com nome do empregador, e os dias trabalhados alem do total de horas. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.regex.Matcher; import java.util.regex.Pattern; import scala.util.matching.Regex import scala.io.Source import com.sun.xml.internal.ws.util.StringUtils object teste { def main(args: Array[String]): Unit = { val patternEmp = "\\;Empregado:\\;{4}([A-Za-z]*) ([A-Za-z]*) ([A-Za-z]*)\\;*".r; val patternWkDay = "([0-9]{2}/[0-9]{2}) - ([a-z]{3})\\;{3}([0-9: ]*).*".r; val patternWkJourney = "\\;Jornada \\+ Abono\\;{7}Jornada total\\;{4}([0-9]{2}:[0-9]{2}).*".r val patternFlagTotJourney = "\\;(Trabalhado \\(Jor.+Ext.\\))\\;{7}Atraso efetivo\\;{4}[0-9: (,)]*\\;{4}[0-9: (,)]*\\;{9}Antecipação efetiva\\;\\;".r val patternTotJourney = "\\;([0-9: (,)]*)\\;{7}Devido\\;{4}[0-9: (,)]*\\;{4}[0-9: (,)]*.*".r val regexs = Seq[scala.util.matching.Regex](patternEmp,patternWkDay,patternWkJourney,patternFlagTotJourney,patternTotJourney) val fileName = "RelExtraPorPeriodo.csv"; for(line <- Source.fromFile(fileName).getLines){ traduzLinha(line, regexs); } } def traduzLinha(line : String, regexs:Seq[scala.util.matching.Regex]): Unit = { regexs.foreach{ m => m.findAllIn(line).matchData foreach { n => if(m.equals(regexs(0))){ println("Empregado: " + n.group(1) + " " + n.group(2)+ " " + n.group(3)) } if(m.equals(regexs(1))){ println(n.group(1)+ "-" + n.group(2) + ": " + n.group(3)) } if(m.equals(regexs(2))){ println("Jornada total: "+ n.group(1) + "\n") } if(m.equals(regexs(3))){ println(n.group(1)+ ":") } if(m.equals(regexs(4))){ println(n.group(1)+"\n") } } } } } Saida do codigo: Empregado: Roberto Gomes Soares 01/09-dom: 02/09-seg: 10:25 12:34 13:35 18:28 03/09-ter: 09:18 12:04 13:23 19:33 04/09-qua: 09:37 11:16 11:56 18:51 05/09-qui: 09:47 12:18 13:15 18:16 06/09----: 08:54 11:13 11:58 16:12 08/09-dom: 09/09-seg: 09:22 11:40 12:44 19:07 10/09-ter: 11/09-qua: 12/09-qui: 13/09----: 10:58 11:35 12:32 18:45 Jornada total: 52:31 Trabalhado (Jor.+Ext.): 54:07 (54,13) 01/09-dom: 02/09-seg: 03/09-ter: 09:11 14:53 04/09-qua: 11:48 17:54 18:25 20:03 05/09-qui: 10:54 16:34 16:57 18:36 06/09----: 19:12 08/09-dom: 09/09-seg: 10/09-ter: 09:25 17:42 17:53 19:02 11/09-qua: 11:25 11:55 12:54 18:28 18:57 19:26 12/09-qui: 13:06 15:19 15:42 13/09----: 09:26 11:36 12:33 19:47 Jornada total: 35:52 Trabalhado (Jor.+Ext.): 45:39 (45,65) Empregado: Gabriel Nunes Santos 01/09-dom: 02/09-seg: 10:00 19:04 03/09-ter: 10:18 19:23 04/09-qua: 18:56 05/09-qui: 10:03 12:03 06/09----: 09:44 08/09-dom: 09/09-seg: 09:32 18:48 10/09-ter: 11:16 11/09-qua: 09:14 12/09-qui: 18:27 13/09----: Jornada total: 26:00 Trabalhado (Jor.+Ext.): 29:25 (29,42) Empregado: Paulo Bandeira J 01/09-dom: 02/09-seg: 03/09-ter: 04/09-qua: 05/09-qui: 06/09----: 08/09-dom: 09/09-seg: 10/09-ter: 11/09-qua: 12/09-qui: 13/09----: Jornada total: 00:00 Trabalhado (Jor.+Ext.): 00:00 (0,0) 01/09-dom: 02/09-seg: 11:40 17:19 17:28 18:45 03/09-ter: 11:24 19:02 04/09-qua: 11:20 13:05 13:53 19:03 05/09-qui: 12:34 14:22 14:53 20:46 06/09----: 11:13 12:51 13:59 16:59 17:09 18:41 08/09-dom: 09/09-seg: 11:16 18:48 10/09-ter: 11/09-qua: 10:32 13:42 14:34 18:16 12/09-qui: 10:52 13:58 15:24 18:44 13/09----: 11:37 20:18 Jornada total: 64:10 Trabalhado (Jor.+Ext.): 64:51 (64,85) Empregado: Carlos Alex de 01/09-dom: 02/09-seg: 11:01 12:34 13:35 19:50 03/09-ter: 12:01 12:06 15:45 19:37 04/09-qua: 11:32 13:10 13:46 05/09-qui: 10:55 12:16 13:15 18:27 06/09----: 11:43 19:34 08/09-dom: 09/09-seg: 10:43 11:45 12:44 19:07 10/09-ter: 13:06 14:09 20:36 11/09-qua: 12:57 18:28 18:57 21:04 12/09-qui: 10:02 13:58 15:24 18:27 13/09----: 09:49 11:38 12:32 19:12 Jornada total: 56:40 Trabalhado (Jor.+Ext.): 56:40 (56,67) 01/09-dom: 02/09-seg: 10:14 18:13 03/09-ter: 13:13 17:05 04/09-qua: 11:16 16:01 16:13 18:09 05/09-qui: 13:32 17:29 06/09----: 10:44 12:27 12:42 16:58 08/09-dom: 09/09-seg: 09:45 12:28 12:34 17:52 10/09-ter: 13:06 19:34 11/09-qua: 12:11 18:40 12/09-qui: 13:03 14:32 14:37 18:23 13/09----: Jornada total: 50:00 Trabalhado (Jor.+Ext.): 54:40 (54,68) Empregado: Carol Maria Rondelli 01/09-dom: 02/09-seg: 10:03 13:02 13:14 19:15 03/09-ter: 15:45 19:15 04/09-qua: 10:51 18:04 05/09-qui: 12:57 16:58 17:04 19:15 06/09----: 12:47 18:54 08/09-dom: 09/09-seg: 10:54 19:31 10/09-ter: 16:08 19:01 11/09-qua: 09:58 13:39 14:51 19:20 12/09-qui: 12:40 19:16 13/09----: 11:53 18:15 Jornada total: 55:04 Trabalhado (Jor.+Ext.): 64:40 (64,67) Empregado: Diego Rodrigues Abrantes 01/09-dom: 02/09-seg: 11:15 17:26 03/09-ter: 08:55 16:59 04/09-qua: 12:39 17:18 05/09-qui: 10:59 17:20 06/09----: 14:11 19:43 08/09-dom: 09/09-seg: 11:45 17:37 10/09-ter: 12:56 19:20 11/09-qua: 11:00 14:49 12/09-qui: 11:22 18:13 13/09----: 10:46 18:50 Jornada total: 00:00 Trabalhado (Jor.+Ext.): 61:46 (61,78) Percebe-se que tem algumas horas sem nome do funcionario. Alguem sabe oq pode estar ocasionando essa anomalia
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.