[英]Array Index Out Bound when spliting the string
我的 txt 文件中有一个数据 sotre 列表,如下所示
"abc@gmail.com","10.9.2.34"
"abc@gmail.com","10.9.2.34"
"abc@gmail.com","10.9.2.34"
"abc@gmail.com","10.9.2.34"
"abc@gmail.com","10.9.2.34"
"abc@gmail.com","10.9.2.34"
我将读取我的 txt 文件中的所有输入并存储到DailyFileData
。 之后,我想从数据中提取IP address
和gmail.com
,但我无法实现mail1
变量将从我拥有的 txt 文件中存储"abc@gmail.com","10.9.2.34"
搜索多种解决方案,了解如何在 stackoverflow 和其他网站中指定两个分隔符。 但我收到ArrayIndexOutOfboundException
。错误发生在以下代码行中
String IP1 = Emaildata1[1];
这是我的源代码
for(int c = DailyFileData.size()-1;c>=0;c--)
{
String mail1 = DailyFileData.get(c);
MailCount1 = Collections.frequency(DailyFileData,mail1);
System.out.println("Count of mail is :"+MailCount1);
String filename1 = f.getCanonicalPath();
Pattern pattern = Pattern.compile("\\d{4}-\\d{2}-\\d{2}");
Matcher match = pattern.matcher( (CharSequence) filename1);
while (match.find())
{
date1 = match.group(0);
}
String [] Emaildata1 = mail1.split(CSVSplitBy);
System.out.println(Emaildata1);
String domain1 = Emaildata1 [0];
String IP1 = Emaildata1[1];
String [] domainArray1 = domain1.split(emailSplitBy);
String domain2 = domainArray1[0];
System.out.println("The extracted domain is :"+domain2);
System.out.println("The extracted date is :"+date1);
System.out.println("The extracted IP is :"+IP1);
domainAndCounting1.add(domain1);
domainAndCounting1.add(String.valueOf(MailCount1));
Iterator<String> it = DailyFileData.iterator();
while(it.hasNext())
{
String mail2 = it.next();
if(mail2.equals(mail1))
{
it.remove();
c--;
}
}
}
我不明白你想在你的代码中实现什么。 但是,如果您有像"abc@gmail.com","10.9.2.34"
这样的String
"abc@gmail.com","10.9.2.34"
并且您试图仅提取gmail.com
的IP address
和域名,则可以简单地尝试以下方法,而无需进行任何复杂的模式匹配:
String a = "\"abc@gmail.com\",\"10.9.2.34\"";
String arr[] = a.split(",");
System.out.println(Arrays.toString(arr));
for (String aa : arr) {
if (aa.contains("@")) {
System.out.println(aa.substring(aa.indexOf("@") + 1, aa.length() - 1));
} else {
System.out.println(aa.substring(1, aa.length() - 1));
}
}
注意:这不是最佳解决方案。 这只是解决你的小问题。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.