如何从 java 中的 csv 文件中提取 url

How to extract url from my csv file in java

提前感谢您的帮助。

我有一个 CSV 文件,其中包含 url 个不同的网页。我想提取 url,下面是我尝试过的代码,但是它 returns 重复结果,没有返回所有 url。你能给我一些指导吗? 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());
    }
}

我不会在这里使用正则表达式。只需找到最后一个逗号索引,该行的其余部分就是您的 url。它工作得更快。

代码看起来像这样(抱歉,我附近没有 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);
    }
}