【发布时间】:2017-11-12 10:38:44
【问题描述】:
我有一个文本文件,每行都有一个名字(名字+姓氏),我想从这些名字中创建电子邮件地址(格式为:firstname.familyname@address.com。)。
我的计划是这样做:
- 为文本文件中的每一行创建一个包含字符串的数组
- 将每个字符串分成两部分:名字、姓氏。其中名字是字符串中的第一个单词,姓氏是每隔一个单词。
- 为每个字符串(总共 N 个字符串)创建一个新数组 (splitNameN),其中包含两个元素:名字、姓氏
- 从每个 splitNameN 数组中,创建一个新字符串:“first name” + “.” +"姓氏"+"@mail.com"
- 将所有这些字符串加在一起,用逗号分隔(例如:barrack.obama@mail.com;donald.trump@mail.com)
我不知道该怎么做的主要事情是拆分名称并将它们放入正确的数组中,我可以拆分它们但是它们会丢失它们的分组。
public static void main(String[] args) throws IOException
{
File file = new File("D:\\NetbeansProjects\\Emails\\src\\emails\\lijst.txt");
BufferedReader abc = new BufferedReader(new FileReader(file));
List<String> data = new ArrayList<String>();
String s;
while((s=abc.readLine())!=null) {
data.add(s);
}
abc.close();
System.out.println(data);
List<String> splitdata = new ArrayList<String>();
for(String strLine : data) {
String[] strWord = strLine.split("[\\s']");
for (String c : strWord) {
splitdata.add(c);
}
}
System.out.println(splitdata);
}
【问题讨论】:
-
专业提示。始终小心地缩进你的程序。它使它们更容易阅读和检查。大多数编辑器和 IDE 可以自动执行此操作。
-
你会创建像 MikeO'Donell 这样的电子邮件,注意撇号。如果有两个 JimSmith 怎么办?