提前感谢您的帮助。
我有一个CSV文件,其中包含不同网页的网址。我想提取网址,下面是我尝试过的代码但是,它会返回重复结果,而不返回所有网址。你能给我一些指导吗?
CSV文件如下:
[123,r5ttr, , , ,1224,http://www.example.com][244,rtyi, , ,3467,http://www.sample.com]
等等。
Pattern p = Pattern.compile("\\bhttp.*?\\]");
BufferedReader brd = new BufferedReader(new FileReader("1234.CSV"));
while (brd.ready()) {
String st = brd.readLine();
Matcher m = p.matcher(st);
while (m.find()) {
System.out.println(m.group());
}
}
答案 0 :(得分:0)
我不会在这里使用正则表达式。只需查找最后一个逗号索引,该行的其余部分就是您的网址。它工作得更快。
代码看起来像这样(对不起,我没有附近的java环境,所以请把它想象成一个未经调试的伪代码:)
try (BufferedReader br = new BufferedReader(new FileReader("1234.CSV"))) {
String csvLine;
while ((csvLine = br.readLine()) != null) {
int urlStart = csvLine.length();
while(true) if(csvLine.charAt(--urlStart) == ',') break;
String theUrl = csvLine.substring(urlStart + 1, csvLine.length());
System.out.println(theUrl);
}
}