как использовать шаблон регулярных выражений Java для удаления всех знаков препинания до, после и между словами

#java #regex #spell-checking

#java #регулярное выражение #проверка орфографии

Вопрос:

Я нахожусь в процессе написания программы проверки орфографии. в основном я разбиваю строку на отдельные слова, а затем сравниваю каждую строку, чтобы увидеть, есть ли она в словаре. Мне удалось удалить строку до и после слова с помощью следующего кода…

 private final static String PUNC_PREFIX = "^\p{Punct} ";
private final static String PUNC_SUFFIX = "[\p{Punct}amp;amp;[^'] $]";

private final String fixPrefix(String sendIn) {
    sendIn = sendIn.replaceFirst(PUNC_PREFIX, "");
    return sendIn;
}

private final String fixSuffix(String sendIn) {
    sendIn = sendIn.replaceFirst(PUNC_SUFFIX, "");
    return sendIn;
}
  

моя проблема прямо сейчас заключается в таких словах, как … «привет-там», «все -сначала», словах, которые разделены пунктуацией…они помечены как неправильно написанные. но технически, привет, сначала все слова написаны правильно…просто то, что между ними есть знаки препинания, делает их «неправильными». В то же время я не хочу просто удалять все знаки препинания в word, потому что для таких слов, как «не», «не буду», «не могу», требуется, чтобы апострофы были отмечены как правильно написанные. Есть идеи, как мне следует подойти к решению этой проблемы?

Заранее спасибо

Ответ №1:

Вероятно, вы могли бы выполнить отдельный поиск, если не нашли что-либо с пунктуациями. Вы бы проверили два слова потока по отдельности (больше не вместе). Если вторая проверка верна; все в порядке.