получить часть строки - PullRequest
       1

получить часть строки

0 голосов
/ 08 апреля 2011

Допустим, у меня есть строка адреса электронной почты, такая как "John Smith" <JSmith@gmail.com>, и все, что я хочу, это получить адрес электронной почты внутри <>

Как бы я это сделал, не получая ничего другого?

Ответы [ 3 ]

5 голосов
/ 08 апреля 2011

Поскольку похоже, что вы имеете дело с адресами электронной почты стандартного формата ( RFC 822 ), вы можете рассмотреть возможность использования JavaMail API .Код для того, что вы хотите, прост с этим.Например, если input содержит строку адреса электронной почты:

String email = new InternetAddress(input).getAddress();
1 голос
/ 08 апреля 2011

Regex - хороший способ пойти (http://java.sun.com/developer/technicalArticles/releases/1.4regex/)

Или вы можете просто работать с подстроками ...

Что-то вроде ...

public static String getEmail(String x) {
    int firstBracket = 0;
    int secondBracket = 0;

    firstBracket = x.indexOf("<");
    secondBracket = x.indexOf(">");
    return x.substring(firstBracket+1, secondBracket);
}

Не обязательно самое надежное решение ... но оно должно делать работу, если форма гарантирована.

0 голосов
/ 08 апреля 2011

Попробуйте использовать регулярные выражения.Как то так?

String name = "John Smith <smith@example.com>";
String email = name.replaceFirst(".*<(.*?)>.*","$1");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...