如何从java

时间:2015-06-22 21:07:02

标签: csv url extract

提前感谢您的帮助。

我有一个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());
    }
}

1 个答案:

答案 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);
    }
}