Yawa Skrevet 22. august 2011 Del Skrevet 22. august 2011 (endret) I programmet DigiDocflow hvor man kan OCR-scanne dokumenter og hente ut diverse data basert på forhåndsatte soner i en mal som jeg kan skrive direkte til en database (mysql i mitt tilfelle via ODBC tilkobling) kan jeg benytte meg av regular Expression. Men siden dette feltet ikke er min sterkeste side lurer jeg på om noen vet om 2 stk. type "snutter". Den ene er å hente ut kun første bokstav fra hvert ord (i mitt tilfelle er det snakk om å hente ut forbokstavene i navnefeltet). Den andre er å trimme whitespaces i begge kanter... Noen som vet om noe slikt? Gjerne også konvertere datoformat fra 22.08.2001 til 2011-08-22... Leser litt, men får det ikke ordentlig til, så tips her setter jeg stor pros på... Takker på forhånd... Endret 23. august 2011 av Yawa Lenke til kommentar
snippsat Skrevet 22. august 2011 Del Skrevet 22. august 2011 (endret) Du sier ikke noe om språk. Kan ta litt med python. Den ene er å hente ut kun første bokstav fra hvert ord >>> import re >>> s = 'The quick brown fox jumps over the lazy dog' >>> re.findall(r'\b[a-zA-Z]', s) ['T', 'q', 'b', 'f', 'j', 'o', 't', 'l', 'd'] >>> #Finne bare store bokstaver først i hvert ord >>> s = 'The quick brown fox jumps over the lazy Dog' >>> re.findall(r'\b[A-Z]', s) ['T', 'D'] Den andre er å trimme whitespaces i begge kanter... >>> c = ' car ' >>> c ' car ' >>> re.sub(r'\s', '', c) 'car' #Uten regex >>> c = ' car ' >>> c.split()[0] 'car' Gjerne også konvertere datoformat fra 22.08.2001 til 2011-08-22... Leser litt >>> d = '22.08.2001' >>> d = d.split('.') >>> print '%s-%s-%s' % (d[2],d[1],d[0]) 2001-08-22 import datetime, dateutil.parser date = '22.08.2001' d = dateutil.parser.parse(date) print d.strftime('%Y-%m-%d') #2001-08-22 Endret 22. august 2011 av SNIPPSAT Lenke til kommentar
FraXinuS Skrevet 23. august 2011 Del Skrevet 23. august 2011 Den andre er å trimme whitespaces i begge kanter... >>> c = ' car ' >>> c ' car ' >>> re.sub(r'\s', '', c) 'car' #Uten regex >>> c = ' car ' >>> c.split()[0] 'car' Eller: ' car '.strip() Lenke til kommentar
Yawa Skrevet 23. august 2011 Forfatter Del Skrevet 23. august 2011 usikker på hvilket språk, men DigiDocFlow er et java-basert programm, så ville tippe det er java... prøver å undersøke detta, men står llite om akkurat detta emnet. Lenke til kommentar
GeirGrusom Skrevet 23. august 2011 Del Skrevet 23. august 2011 Den bruker helt sikkert Java sitt regex bibliotek i det minste. http://download.oracle.com/javase/tutorial/essential/regex/ Lenke til kommentar
Terrasque Skrevet 25. august 2011 Del Skrevet 25. august 2011 http://www.regular-expressions.info/index.html kan kanskje være til hjelp. Har regex tutorial, eksempler, referanse, og notater om implentasjonen og hva som støttes i forskjellige språk. Lenke til kommentar
rulleguru Skrevet 25. august 2011 Del Skrevet 25. august 2011 (endret) Fjerne whitespaces: String test = " hei "; System.out.print(test.trim()); Første bokstav: String test = "Per"; test.substring(0,1); Gir første bokstav EDIT: trodde du kunne skrive java-kode inn der og, men om du bare kan bruke regexp er det en annen sak Update: Første bokstav: ^\D Endret 25. august 2011 av rulleguru Lenke til kommentar
Kiff Skrevet 1. september 2011 Del Skrevet 1. september 2011 Gjerne også konvertere datoformat fra 22.08.2001 til 2011-08-22... Leser litt, men får det ikke ordentlig til, så tips her setter jeg stor pros på... Jeg kjenner ikke til DigiDocflow, men hvis du kan skrive Java kode kan du bruke SimpleDateFormat for å skrive om datostrengen. public static String switchdate(final String indate) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); Date mydate = sdf.parse(indate); sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(mydate); } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå