Как использовать регулярные выражения для удаления пунктуации в предложении - PullRequest
1 голос
/ 19 января 2012

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

don't won't can't

и я должен игнорировать запятые и восклицательные знаки.

Я получил выражение, чтобы получить только символы, но теперь оно не получит таких слов, как don't and can't or won't.

Это выражение, которое я использую "[^A-Za-z]+", и я пробовал "\'[^A-Za-z]+", но это ломает и разрешает все символы. Кто-нибудь знает, что я могу использовать, чтобы получить нормальные слова, в том числе не и не будет и не может и такие слова.

Большое спасибо

Ответы [ 3 ]

1 голос
/ 19 января 2012

[^A-Za-z] будет означать что-либо, НЕ соответствующее этим диапазонам символов! Попробуйте это:

[A-Za-z']

Вам может потребоваться экранировать одинарную кавычку, и в этом случае вам, вероятно, понадобится экранировать косую черту, которая ускользает от нее:

[A-Za-z\\']
0 голосов
/ 19 января 2012

Соответствует буквам на любом языке и исключает цифры.

\b[\p{L}\!\'\?]+

Вот очень хороший ресурс для регулярных выражений. http://www.regular -expressions.info /

0 голосов
/ 19 января 2012

Другой способ (с использованием сокращений): \b[\w']+

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