Oprettet tor. d. 24. november 2005 kl. 14:22:35

donkazz
donkazz (11.670 point. Point ude: 1.395)

Hurtigt replace script af en txt fil?

Jeg har en tekstfil med forfærdeligt mange linjer i, som indeholder en mailadresse pr. linje, samt en masse andet kode som jeg ikke kan bruge til noget.

Målet er at jeg skal have alle mailadresser ind i en database der bruges til et nyhedsbrev, men først vil jeg have alle mailadresser stående alene som kommasepareret værdier. Jeg tænkte at reg. exp. var den perfekte måde at gøre det på.

Selve indholdet i txt-filen ser sådan her ud:

8;"blabla@blablabla.dk";"te236781077817888"
120;"blabla@blablabla.dk";"sd287934008282112"
1254;"blabla@blablabla.dk";"sd51706041896160"
2345;"blabla@blablabla.dk";"te305100216651840"
4355;"blabla@blablabla.dk";"as58442148977952"

så selve mønsteret ser sådan her ud:

nr;"mailadresse";"etellerandetsindssygt"

Hvis bare jeg kan få udskrevet en streng med alle mailadresser i, adskilt af kommaer, kan jeg selv bikse noget array-show sammen til at smide ind i databasen.

Hvis der er en eller flere der lige kan fikse sådan et script sammen ville det være cool, eller fortælle mig hvordan jeg skal gøre det. :)

Skrevet tor. d. 24. november 2005 kl. 16:09:37| #1

driis
driis (61.137 point)
www.driis.dk
Denne regex skulle gerne matche alle dine email adresseR:
([0-9a-zA-Z]+[-._+&]*[0-9a-zA-Z]+@[-0-9a-zA-Z]+[.]+[a-zA-Z]{2,6})

Skrevet tor. d. 24. november 2005 kl. 17:22:17| #2

donkazz
donkazz (11.670 point)
Kan du evt. vise et eksempel på hvordan jeg bruger den i sammenhæng? Jeg er helt rookie på reg. exp. området, så I have no clue. :-)

Skrevet tir. d. 29. november 2005 kl. 14:52:17| #3

roenving
roenving (328.349 point)
Hvilket sprog programmerer du i ?-)

-- og en anden tilgangsvinkel kunne være (her i javascript-syntaks !-)

var reg = /.*?;(.*?);.*?\r\n/g;

nyTxt = txt.replace(reg,"$1,");

Skrevet tir. d. 29. november 2005 kl. 15:30:20| #4

donkazz
donkazz (11.670 point)
Jeg skriver i ASP med VBScript...... Jeg har egentligt løst det med at lave en stupid funktion, der først finder længende af strengen, derefter hvor forekomsten af "; er, og hvor forekomsten af ;" er, og derefter sletter alt til hvv. højre og venstre for de tegn, og tilbage står e-mailadressen. Men det ville stadig være rart at finde ud af hvordan jeg bruger sådan en reg.exp, hvis nu jeg får en anden lignende opgave i fremtiden. :)

Skrevet tir. d. 29. november 2005 kl. 15:46:35| #5

roenving
roenving (328.349 point)
Ikke så langt fra dette:

dim reg as RegEx 'Men hvad grundobjektet hedder ved jeg ikke
set reg = New RegEx
reg.Pattern = ".*?;(.*?);.*?\r\n"
reg.Global = True

-- og så noget i denne stil:

Replace(reg,"\\1,",Txt)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

.NET RegEx: tekst mellem to markører

Oprettet den 28. april 2012 kl. 19.34
dingemann giver 60 point for svar | Giv et svar »

Streng længde med karaktere på bestemte pladser

Oprettet den 17. april 2012 kl. 10.52
joki giver 30 point for svar | Giv et svar »

Simpel sammenlignen på 2-3 værdier

Oprettet den 3. april 2012 kl. 14.07
bendixen giver 200 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger