我的数据集&ad;'中有一个住宅地址专栏。我想检查没有数字(包括罗马数字)的地址。 我正在使用
ad$check <- grepl("[[:digit:]]",ad$address)
标记没有数字的地址。如何处理包含罗马数字的地址?
例如:&#34; X楼,DLF Building-III,ABC City&#34;
答案 0 :(得分:1)
你需要制作正则表达式字符串。
编辑(我的第一个回答是胡说八道):
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]
&#34;字&#34;我们正在寻找的只能包含用于罗马数字的符号。据我所知,这些应该都是。
ignore.case = FALSE
如果省略该选项,这是通常设置的标准。但是,如果它对于手头的操作很重要,我会发现它更安全。
谨慎使用,例如,一家名为&#34; LCD Industries&#34;也会被标记为罗马数字。您可以将我的方法与this answer结合使用,以进一步测试符号的顺序是否正确。
请测试您的数据并报告其是否有效。