得到一个字符串的一部分

时间:2011-04-08 18:27:02

标签: java string

假设我有一个电子邮件地址字符串,例如"John Smith" <JSmith@gmail.com>,我想要的是获取<>

内的电子邮件地址

如果没有得到其他所有内容,我该如何做?

3 个答案:

答案 0 :(得分:5)

由于您似乎在处理标准格式的电子邮件地址(RFC 822),因此您可能需要考虑使用JavaMail API。你想要的代码很简单。例如,假设input包含您的电子邮件地址字符串:

String email = new InternetAddress(input).getAddress();

答案 1 :(得分:1)

正则表达式是一个很好的方法(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);
}

不一定是最强大的解决方案......但如果表格得到保证,它应该可以胜任。

答案 2 :(得分:0)

尝试使用正则表达式。像这样的东西?

String name = "John Smith <smith@example.com>";
String email = name.replaceFirst(".*<(.*?)>.*","$1");