Вам нужно создать строку регулярного выражения.
Изменить (мой первый ответ был чепухой):
x <- c("floor Imaginary, building- Momentum, ABC City", "floor X, DLF Building- III, ABC City")
# here come the regex
grepl("\\b[I|V|X|L|C|D|M]\\b", x, ignore.case = FALSE)
[1] FALSE TRUE
Чтобы разбить это:
\\b
- границы слов. Это означает, что перед римскими цифрами должны стоять пробелы, знаки препинания или начало / конец строки.
[I|V|X|L|C|D|M]
искомое «слово» может состоять только из символов, используемых для римских цифр. Насколько я знаю, это должно быть все.
ignore.case = FALSE
это стандарт, который обычно устанавливается, если вы опускаете эту опцию. Однако я считаю более безопасным упомянуть об этом прямо, если это важно для данной операции.
Используйте с осторожностью, так как компания под названием, например, "LCD Industries" также будет помечена римскими цифрами. Вы можете объединить мой подход с этим ответом, чтобы дополнительно проверить правильность расположения символов.
Пожалуйста, проверьте свои данные и сообщите, работает ли это.
person
JBGruber
schedule
07.03.2018