gpt4 book ai didi

r - 如何在R中检查字符串是否包含罗马数字?

转载 作者:行者123 更新时间:2023-12-02 14:12:21 26 4
gpt4 key购买 nike

我的数据集“ad”中有一个住宅地址列。我想检查没有数字(包括罗马数字)的地址。我正在使用

ad$check <- grepl("[[:digit:]]",ad$address)

标记出不存在数字的地址。如何对包含罗马数字的地址执行相同的操作?

例如:“ABC City DLF Building- 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] 我们正在寻找的“单词”只能由用于罗马数字的符号组成。据我所知应该就这些了。<​​/p>

ignore.case = FALSE 这是省略该选项时通常设置的标准。然而,我发现如果它对于当前的操作很重要,那么明确提及它会更安全。

请谨慎使用,因为一家名为“LCD Industries”的公司也会被标记为罗马数字。您可以将我的方法与 this answer 结合起来进一步测试符号的顺序是否正确。

请测试您的数据并报告其是否有效。

关于r - 如何在R中检查字符串是否包含罗马数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49147890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com