Поиск сокращений в данных с помощью R

В моих данных (это текст) есть сокращения.

Есть ли какие-либо функции или код для поиска сокращений в тексте? Например, обнаружение 3-4-5 заглавных букв и позвольте мне посчитать, как часто они случаются.

Очень признателен!

2 ответа

Решение

обнаружение 3-4-5 заглавных букв

Вы можете использовать

\b[A-Z]{3,5}\b

Посмотреть демо-версию регулярного выражения

Детали:

  • \b - граница слова
  • [A-Z]{3,5} - 3, 4 или 5 заглавных букв (используйте [[:upper:]] сопоставлять буквы кроме ASCII тоже)
  • \b - граница слова.

Демонстрация R онлайн (используя код счетчика повторений регулярных выражений из @TheComeOnMan)

abbrev_regex <- "\\b[A-Z]{3,5}\\b";
x <- "XYZ was seen at WXYZ with VWXYZ and did ABCDEFGH."
sum(gregexpr(abbrev_regex,x)[[1]] > 0)
## => [1] 3
regmatches(x, gregexpr(abbrev_regex, x))[[1]]
## => [1] "XYZ"   "WXYZ"  "VWXYZ"

Вы можете использовать регулярное выражение [A-Z] чтобы соответствовать любому вхождению буквы. Если вы хотите, чтобы этот шаблон повторялся 3 раза, вы можете добавить \1{3} к вашему регулярному выражению. Подумайте об использовании переменных и цикла, чтобы выполнить работу от 3 до 5 раз.

Другие вопросы по тегам