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

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

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

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;
}

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

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

1 Ответ

0 голосов
/ 10 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...