[java] e-mail adres(sen) uit string vissen

Pagina: 1
Acties:

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 09-01 18:51
Ben bezig met een deel van een programma dat een string krijgt en nou is het de bedoeling dat hij e-mail adressen uit deze string kan halen en deze in een array returneerd.

Ik ben al een tijdje opzoek geweest naar een voorbeeld, maar ik kan niks vinden. Kan iemand mij hieraan helpen?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
1) We gaan hier geen scriptrequest doen
2) Doe het zelf oplossing: Zoek eens met de omegasearch op een goede regex voor e-mail validatie. Deze is dan gewoon toe te passen in J2SDK 1.4 :)

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 09-01 18:51
bedankt Glimi.

Ben nu even aan de slag gegaan met regex (paterns). Nu heb ik tot nu toe het volgende gemaakt.

code:
1
2
3
4
5
6
7
8
    System.out.println("opzoek naar e-mail adressen");
    String hetPatroon = "[A-Za-z0-9_-]+([.]*{1}[A-Za-z0-9-]+)+@[A-Za-z0-9-]+([.]{1}[A-Za-z0-9-]+)+";
    Pattern patroon = Pattern.compile(hetPatroon);
    Matcher overeenkomst = patroon.matcher(teVerwerkenString);
    if (overeenkomst.find()) {
      System.out.println("Een e-mail adres gevonden");
      System.out.println(overeenkomst.group());
    }


Bij System.out.println(overeenkomst.group()); geeft ie alleen het eerste e-mailadres weer die hij tegen komt. Nu wil ik dat hij ze alleemaal weergeeft. Hoe kan ik dit het beste aanpakken?

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:50
De volledige text overlopen oid.

Heb je geen findnext method oid?
Zelf een beetje onderzoek doen kan geen kwaad.

https://fgheysels.github.io/


  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 09-01 18:51
Heb dus ook al naar die findnext gezocht, maar kon hem niet vinden.

  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
code:
1
2
3
4
while(overeenkomst.find()) {
      System.out.println("Een e-mail adres gevonden");
      System.out.println(overeenkomst.group());
    }

werkt dat?

Je kunt anders ook het volgende doen:
code:
1
2
3
4
for (int i=0; i<overeenkomst.groupCount();i++)
{
   System.out.println(overeenkomst.group(i));
}

[ Voor 43% gewijzigd door El_BingO op 02-01-2003 19:26 ]


Verwijderd

moet bij de eerste geen continue; worden gberuikt ?

  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
Verwijderd schreef op 02 januari 2003 @ 19:53:
moet bij de eerste geen continue; worden gberuikt ?
Waarom zou dat dan moeten?

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:50
El_BingO schreef op 02 januari 2003 @ 20:02:
[...]

Waarom zou dat dan moeten?


Dat moet niet. continue zorgt er voor dat je , als je in een loop zit, de code die na de continue staat overgeslagen wordt, en er verder wordt gedaan met de volgende iteratie.

Bv:
code:
1
2
3
4
5
6
7
8
9
i = 0;
while ( i < 5)
{
   if( i == 3)
   {
     continue;
   }
   MessageBox ("test");
}


Als je bv bovenstaande code uitvoert, dan zal je geen 'test' krijgen als i == 3 is .

https://fgheysels.github.io/


  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
whoami schreef op 02 January 2003 @ 20:12:

[...]


Dat moet niet. continue zorgt er voor dat je , als je in een loop zit, de code die na de continue staat overgeslagen wordt, en er verder wordt gedaan met de volgende iteratie.

Bv:
code:
1
2
3
4
5
6
7
8
9
i = 0;
while ( i < 5)
{
   if( i == 3)
   {
     continue;
   }
   MessageBox ("test");
}


Als je bv bovenstaande code uitvoert, dan zal je geen 'test' krijgen als i == 3 is .
Maar dat is hier toch niet nodig?

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:50
El_BingO schreef op 02 January 2003 @ 20:14:
[...]

Maar dat is hier toch niet nodig?


neen, dat wou ik ook duidelijk maken

https://fgheysels.github.io/

Pagina: 1