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