如何按不包含字符的行/元素grep
我有一个包含许多元素的字符向量如何按不包含字符的行/元素grep,r,regex,R,Regex,我有一个包含许多元素的字符向量 (tmpsp <- c("Hi my name is Gary", "", "Welcome to my house", "", " Do you like tea?")) [1] "Hi my name is Gary" [2] "" [3] "Welcome to my house" [4] "" [5] " Do you like tea?" 然而,它似乎不起作用 如何创建不包含字符的grep元素 例如,我如何查找/删除元素[2
(tmpsp <- c("Hi my name is Gary", "", "Welcome to my house", "", " Do you like tea?"))
[1] "Hi my name is Gary"
[2] ""
[3] "Welcome to my house"
[4] ""
[5] " Do you like tea?"
然而,它似乎不起作用
如何创建不包含字符的grep元素
例如,我如何查找/删除元素[2]和[4]以测试某个内容是否为空字符串您不需要任何华丽的正则表达式,只需使用
=
:
x = c("Hi", "", "Welcome", " Do")
x == ""
# [1] FALSE TRUE FALSE FALSE
为了测试某个内容是否为空字符串,您不需要任何花哨的正则表达式,只需使用
=
:
x = c("Hi", "", "Welcome", " Do")
x == ""
# [1] FALSE TRUE FALSE FALSE
如果你真的想用正则表达式来表示空白字符串,你可以做
grep(“^$”,tmpsp)
,但是你可以做tmpsp==”
。这么简单。非常感谢。你能解释一下你发布的正则表达式解决方案吗?因为我想学的太简单了。非常感谢。你能解释一下你发布的正则表达式解决方案吗?我正在学习“^”
表示字符串的开头<代码>“$”表示字符串的结尾“^$”
表示字符串的开头,后面是字符串的结尾,中间没有任何内容。Filter(nzhar,tmpsp)
或Filter(Negate(nzhar,tmpsp)
相反,如果你真的想对空白字符串使用regex,你可以做grep(^$”,tmpsp)
,但是你可以做tmpsp==“”
。太简单了。非常感谢。你能解释一下你发布的正则表达式解决方案吗?因为我想学的太简单了。非常感谢。你能解释一下你发布的正则表达式解决方案吗?我正在学习“^”
表示字符串的开头<代码>“$”表示字符串的结尾“^$”
表示字符串的开头,后面是字符串的结尾,中间没有任何内容。过滤器(nzchar,tmpsp)
或过滤器(否定(nzchar,tmpsp)
,反之亦然