我花了 5 分钟的时间试图用这个标题来措辞,以避免它成为一个措辞相似的问题。运气不好,如果已经讨论过这个问题,我们深表歉意。我找不到关于这个特定主题的任何其他主题。
简单来说,我想识别类字符串中是否存在数字。如果 true 应用进一步的函数。
这是一个狡猾的尝试。
x <- "900 years old"
if(str_detect(x, ">=0")) {
print("contains numbers")
}
Run Code Online (Sandbox Code Playgroud)
很明显,问题是我试图在字符串中使用关系运算符。考虑到它属于此类,我如何识别数字字符?
[0-9]是数字 0 到 9 的正则表达式模式。您还可以使用特殊模式\d或[:digit:](对于数字)。在 R 中,您必须为特殊模式添加额外的转义符。所有这些都应该有效:
str_detect(x, "[0-9]")
str_detect(x, "\\d")
str_detect(x, "[[:digit:]]")
Run Code Online (Sandbox Code Playgroud)