我在我的数据集“ad”中有一个住宅地址列。我想检查哪些地址没有数字(包括罗马数字)。 我正在使用
ad$check <- grepl("[[:digit:]]",ad$address)
如何标记那些包含罗马数字的地址?针对没有数字出现的地址,我该如何处理?
例如:"ABC城市,DLF大厦III栋X楼"
我在我的数据集“ad”中有一个住宅地址列。我想检查哪些地址没有数字(包括罗马数字)。 我正在使用
ad$check <- grepl("[[:digit:]]",ad$address)
如何标记那些包含罗马数字的地址?针对没有数字出现的地址,我该如何处理?
例如:"ABC城市,DLF大厦III栋X楼"
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
这是通常设置的标准选项,如果省略该选项,则会自动设置。但是,如果对手头的操作很重要,更安全的做法是明确提及它。