我想使用Substring从字符串中提取服务器名称。我不确定我是应该迭代循环,还是使用StringTokenizer
,indexof
,lastindex
或者其他任何东西。
基本要求是,我应该使用substring()
例如:
id@yahoo.com , my@gmail.com etc
这在段落中,应该打印服务器名称,如下所示:
Server names: yahoo, gmail ...
答案 0 :(得分:4)
假设这是一个家庭作业,这里有几点可以帮助你:
@
符号.
结尾
substring(from,to)
方法substring
中的第一个索引包含在内;第二个不包括在内indexOf('x')
方法找到字符的索引,用x
替换您搜索的字符答案 1 :(得分:2)
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 输出:林
编辑:如果您的电子邮件未以逗号或任何其他分隔符分隔,则可以使用以下代码提取单个电子邮件地址:
String emails = "id@yahoo.com my@gmail.com";
String[] parts = emails.split("\\s+");
表示我这次没有使用trim()
。在拆分之后,您可以再次使用相同的for循环。