Spezielle Zeichenfolge auslesen

jorgeHX

Erfahrenes Mitglied
Hallo Leute,
ich will folgenden String auslesen:

"Sehr geehrte Damen und Herren, \r\n\r\n\t\t\tjemand hat ihre Seite besucht: \r\n\r\n\t\t\t\tNAME: Mustermann \r\n\r\n Vorname: Peter\r\n\r\n E-MAIL: peter-mustermann@t-online.de\r\n\r\n Wie sind Sie auf unsere Webseite aufmerksam geworden? \r\n\r\n Suchmaschine: \r\n\r\n Promotion: \r\n\r\n Pressetext: \r\n\r\n Sonstiges: ja\r\n\r\n Wednesday - 06.07.05 - 20:59:20\r\n"


Ich will jetzt den Namen, Vornamen und die Emailadresse auslesen. Diese Daten verändern sich aber immer wieder. Gibt es da einen Trick?

Ich bin für jede erdänkliche Hilfe oder Anleitung dankbar.
Schönen Sonntag noch,
JP
 
Hallo!

Schau mal hier:
Java:
/**
 * 
 */
package de.tutorials;

import java.util.regex.Pattern;

/**
 * @author Tom
 * 
 */
public class ExtractionExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        final String emailBody = "Sehr geehrte Damen und Herren, \r\n\r\n\t\t\tjemand hat ihre Seite besucht: \r\n\r\n\t\t\t\tNAME: Mustermann \r\n\r\n Vorname: Peter\r\n\r\n E-MAIL: peter-mustermann@t-online.de\r\n\r\n Wie sind Sie auf unsere Webseite aufmerksam geworden? \r\n\r\n Suchmaschine: \r\n\r\n Promotion: \r\n\r\n Pressetext: \r\n\r\n Sonstiges: ja\r\n\r\n Wednesday - 06.07.05 - 20:59:20\r\n";
        final String regex = ".*NAME: ([^\\n\\s]*).*Vorname: ([^\\n\\s]*).*E-MAIL: ([^\\n\\s]*).*";
        Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
        System.out.println(pattern.matcher(emailBody).replaceAll("$1, $2, $3"));
    }
}

Gruß Tom
 
Hi Tom,
funktioniert saugeil. Kannste mir dennoch mal kurz erklären, wie regex genau funktioniert bzw. das Pattern? Habe damit noch nie gearbeitet.
Danke,
JP
 
Zurück