阅读文件并找到独特的单词

时间:2013-04-13 18:11:00

标签: java string

我想读取一个文件并获取其中唯一单词的数量。到目前为止,我能够逐行读取文件(readline),将其存储在arraylist中,然后操作字符串。

我的输入如下:

  

(或(电视派对)(学习))   (=>考试(不是(或电视派对)))

基本上,我试图将每行从前缀转换为中缀,我需要找出输入文件中涉及的所有差异变量(如电视,派对等),以便我可以构建一个真值表并测试案例

目前我在操作数组列表中的所有字符串。你有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

如果要查找变量,请尝试:

String line = "(OR (OR tv party) (study)) (=> exam (NOT (OR tv party)))";
Scanner sc = new Scanner(line);
sc.useDelimiter("[^a-z]");
Set<String> set = new TreeSet<String>();
while(sc.hasNext()) {
    String word = sc.next();
    if (!word.isEmpty()) {
        set.add(word);
    }
}
System.out.println(set);

打印:

[exam, party, study, tv]

答案 1 :(得分:1)

拆分行并将单词存储到Set。最后,您将获得独特的单词。如果你想知道单词count也使用map<String, Integer>其中key(string)是单词,value(整数)是计数器。