java hashtag counter csv文件

时间:2013-01-31 23:47:09

标签: java csv hashtag

我正在尝试计算主题标签在CSV文件中显示的次数。问题是,我正在跳过每一列的最后一行,而不是计算75件事,它只算70.这是代码,对不起我是Java的新手,它可能很简单,但我无法理解它进行。

import java.util.Scanner;
import java.io.File;

public class HashtagCounter {

public static void main(String[] args) throws Exception {

    int total = 0;
    int count = 0;

    File file = new File("hashtags.csv");
    Scanner input = new Scanner(System.in);
    Scanner scan = new Scanner(file).useDelimiter(",\\s*");

    System.out.println("Please enter a hashtag");
    String keyboard = input.nextLine();



    while(scan.hasNext()){
        //System.out.println(scan.next());
        total = total + 1;

        if(scan.next().equals(keyboard)){
            count = count + 1;
        }
    }


    System.out.println("The hashtag " + keyboard + " appears " + count + " time(s), out of a total of " + total + " entries");
}
}

1 个答案:

答案 0 :(得分:0)

您在下一行的第一个条目中加入了行的最后一个条目。这是因为您的分隔符",\\s*" - 它与逗号匹配,但在csv中的最后一个条目之后没有逗号。使用"\n|,\\s*"匹配换行符(\n)或逗号。模式A|B匹配与任一子模式匹配的字符串。它记录在:http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html