所以我正在开展一个项目,我试图以这种格式从文本文件中读取数千行:
EMAILADDRESS1@EXAMPLE.COM 1209381231
EMAILADDRESS2@EXAMPLE.NET 1241231231
EMAILADDRESS3@EXAMPLE.ORG 1231585849
EMAILADDRESS4@EXAMPLE.COM 2132389558
...
等。等等....
现在,我想将每个电子邮件地址读成一个字符串并完全忽略它后面的数字,它们对我来说并不重要。这些数字与空格所代表的电子邮件分开。
那么,将每个电子邮件地址读入自己的字符串的最佳方法是什么?
答案 0 :(得分:0)
查看split()方法。您指定一个字符,它会根据该字符拆分字符串。然后将字符分隔的字符串部分放入一个数组中,该方法将返回给您。
然后,假设在电子邮件地址开始之前没有空格字符,您可以获取数组的第0个元素并按照您喜欢的方式处理它。将它放入List中,将列表流式传输到文件中,无论如何。
答案 1 :(得分:0)
使用split()
方法!这绝对是最好的方式!其他方式可能更难或占用更多性能!
String[] strings = myString.split(" ");
答案 2 :(得分:0)
您可以使用:
String str = "HERE YOUR CONTENT";
String[] mailArray = str.split("\\s+\\d+");
如果您打印mailArray,它将包含:
mailArray =>
(
EMAILADDRESS1@EXAMPLE.COM,
EMAILADDRESS2@EXAMPLE.NET,
EMAILADDRESS3@EXAMPLE.ORG,
EMAILADDRESS4@EXAMPLE.COM
)
答案 3 :(得分:0)
您可以尝试使用java scanner class
String str = "name of your text file"
Scanner scan = new Scanner(new File(str));
ArrayList<String> emails = new ArrayList<String>();
Pattern pattern = //some email regex
String tmp = ""
while(tmp = scan.next(pattern)){
emails.add(tmp);
}