У меня есть список, содержащий некоторые Неразрывно слова, какраскол текста с Неразрывно фразами
List<String> lookUp = new ArrayList<>();
lookUp.add("New York");
lookUp.add("Big Apple");
Для предложения Я хочу, чтобы разбить его на слова, но не расколоть неразрывно слова, приведенные в моем списке. Так пример
String sentence = "New York is also called Big Apple";
он должен вернуть мне
["New York", "is", "also", "called", "Big Apple"]
Я начал писать алгоритм, который первым расщепляет предложение по непечатаемым, а затем я делаю петлю: Для каждого слова я проверить, если это слово и это правый сосед в lookUp-списке, и, если это правда, проанализируйте эти слова вместе.
1) Представьте, что мой lookUp-список содержит содержательные фразы с более чем двумя словами, такими как «George W. Bush» -> мой алгоритм будет искать только «George W.» и «У. Буш» и не найдет его в списке поиска, поэтому он разделил бы его на 3 слова.
2) Более важный вопрос (для которого вы можете игнорировать вопрос 1): Есть ли уже библиотека или даже плагин GATE (так что мне не нужно изобретать колесо)? И это также существует для немецких фраз? Я не мог найти один = (
Это настолько тривиальный вопрос, поэтому я считаю: там не является какой-либо специальной библиотекой для этого. – Andremoniy
Что делать, если вы получаете «abc» и имеете «ab» и «bc» в вашем поиске? – aioobe
Альтернативный подход: 1) Разделить на записи 'lookUp', 2) Итерации, для каждого видят, это смотровое слово, 3) Если да, продолжайте, 4) Если нет, разделите o n пробелов. – jensgram