Используя grep в R, чтобы найти строки как целые слова (но не строки как часть слов)
Я ищу правильное регулярное выражение. Следующий
t1 = c("IGF2, IGF2AS, INS, TH", "TH", "THZH", "ZGTH")
grep("TH",t1, value=T)
возвращает все элементы t1
, но верны только первые и второй. Я просто хочу, чтобы записи со словом/фразой TH
вернулись?
Ответы
Ответ 1
Вам нужно добавить привязки к границе слова (\b
) вокруг строк поиска, поэтому будут сопоставлены только целые слова (т.е. слова, окруженные не-словные символы или начало/конец строки, где "символ слова" означает \w
, то есть буквенно-цифровой символ).
Try
grep("\\bTH\\b",t3, value=T)
Ответ 2
Вы можете использовать \<
и \>
в регулярном выражении для соответствия в начале/конце слова.
grep ("\\<TH\\>", t1)
и т.д.