Поиск сокращений в данных с помощью 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 раз.