Как разобрать эту строку для извлечения адресов электронной почты? - PullRequest
1 голос
/ 06 августа 2011

Я получаю список адресов электронной почты в сервлете в качестве параметра из запроса в следующем формате:

,Group 4: [abc@xyz.com,asd@dsa.com],,Group 4: [abc@xyz.com],,Group 3: [],,Group 2:
[qwe@rty.com,yui@gui.com,jih@app.com,abc@xyz.com,asd@dsa.com],,Group 1: 
[pick@pick.com,test@pick.com,test1@pick1.com],,Nirmal testGroup: [qwe@rty.com],

Как я могу разобрать все уникальные адреса электронной почты с этого на Java?1005 * Имена групп не важны.Также не обязательно, чтобы имя группы всегда было как Группа 1, Группа 3, это может быть что угодно, содержащее пробелы.Просто нужно иметь список / массив всех уникальных адресов электронной почты из строки.

1 Ответ

2 голосов
/ 06 августа 2011

Используйте регулярное выражение , чтобы выделить все в квадратных скобках ([]), затем split каждый из этих запятых:

String example = ",Group 4: [abc@xyz.com,asd@dsa.com],,Group 4: [abc@xyz.com],,Group 3: [],,Group 2:\n" +
                         "[qwe@rty.com,yui@gui.com,jih@app.com,abc@xyz.com,asd@dsa.com],,Group 1: \n" +
                         "[pick@pick.com,test@pick.com,test1@pick1.com],,Nirmal testGroup: [qwe@rty.com],";
Pattern pattern = Pattern.compile("\\[(.*?)\\]");
Matcher matcher = pattern.matcher(example);
while (matcher.find()) {
    for (String email : matcher.group(1).split(",")) {
        System.out.println(email);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...