如何检查R语言字符串中是否包含特定数字?
解决R语言中检测字符串是否包含特定数字的问题
嗨,我来帮你搞定这个问题~
首先得指出你之前写法的问题:你用的\\1是正则表达式里的反向引用,它的作用是引用之前捕获组匹配到的内容,根本不是用来匹配字符"1"本身的,所以才会得不到正确结果。
正确的解决方法
其实要检测字符串里是否包含数字"1",直接用grepl()匹配字面量"1"就可以了,非常简单:
# 定义你的字符串向量 mywords <- c("harry","met","sally","subway 10","1800Movies","2345") # 检测是否包含数字"1" grepl("1", mywords)
运行这段代码后,你会得到期望的结果:FALSE FALSE FALSE TRUE TRUE FALSE
额外补充
如果你想更清晰地表示匹配的是数字字符"1",也可以用正则的字符类写法,效果完全一样:
grepl("[1]", mywords)
如果以后你需要匹配任意数字,可以用\\d(比如grepl("\\d", mywords)会返回所有包含数字的字符串),但这次你的需求是特定的数字"1",所以直接匹配字面量就足够啦。
内容的提问来源于stack exchange,提问作者RRuiz
相关产品推荐
相关产品推荐

