неділю, 17 лютого 2013 р.

Java. Пошук унікальних слів в тексті

Нижче викладена задача, з якою ми нарешті таки в цю суботу розібралися.
Даний файл .txt (поки що лише англ.), в тексті якого необхідно було порахувати кількість всіх унікальних слів.


import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
import java.util.regex.Pattern;


public class IOText2 {
public static void main(String args[]) throws FileNotFoundException {

Pattern p = Pattern.compile("[^(\\w')(\\w-)]"); //важливо правильно визначити regexp


Scanner scan = new Scanner(new FileReader(
"Тут//шлях//до//файлу")).useDelimiter(p);
Set<String> words = new HashSet<String>(); // дає значення, що не повторюються

while (scan.hasNext()) {
String s = scan.next();
s = s.trim();
if (!s.isEmpty())
words.add(s.toLowerCase());
}
System.out.println(words.size()); // виведе кількість унікальних слів в тексті

scan.close();
}
}



Власне, не така вже й складна задача, але мені над нею треба було посидіти. І навряд чи я б її зробила без сторонньої допомоги.
Першу спробу можна вважати завершеною.
В продовження хочу, щоб прога була мультимовною. Крім того рахувала та вивводила цитати (те, що в " " ). Якщо вийде - опублікую тут.

Немає коментарів:

Дописати коментар