繁体   English   中英

从Java电子邮件中提取服务器名称

[英]Extracting server names from emails in Java

我想使用Substring从字符串中提取服务器名称。 我不确定是否应该循环循环或使用StringTokenizerindexoflastindex或其他方法。

基本要求是,我应该使用substring()

例如:

 id@yahoo.com  ,  my@gmail.com etc

这会出现在段落中,并应打印如下服务器名称:

Server names: yahoo,   gmail ... 

假设这是一项家庭作业,那么以下几点应该可以帮助您:

  • 您要查找的子字符串在@符号后开始一个字符
  • 服务器名称以第一个点结尾. 在字符串中
  • 您使用(您猜对了!) substring(from,to)方法获取一个子字符串
  • substring的第一个索引包含在内; 第二个indes不包含在内
  • 通过使用发现一个字符的索引indexOf('x')方法,用x的字符,你搜索
String emails = "id@yahoo.com  ,  my@gmail.com ,  luigi@microsoft.com";
emails = emails.trim();  // get rid of spaces.
String[] parts = emails.split(",");  // emails array.

for (String email : parts) 
{
    String temp = email.substring(email.indexOf("@") + 1); // e.g. @google.com
    String serverName = temp.substring(0, temp.indexOf("."));  // e.g. google
    System.out.println(serverName);  //prints google
}

样品运行(单输入):

输入: mario@google.com 输出 :google

输入: alvaro.arbeloa@realmadrid.com 输出 :realmadrid

输入: luigi@forest.yahoo.com 输出 :forest

编辑:如果您的电子邮件没有用逗号或任何其他定界符分隔,那么您可以使用以下代码提取单个电子邮件地址:

String emails = "id@yahoo.com    my@gmail.com";
String[] parts = emails.split("\\s+");

表示我这次不使用trim() 拆分之后,您可以再次使用上述相同的for循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM