我想在其中搜索任何以及开头的55任何内容Roof(区分大小写,对于那些好奇的人).
到目前为止,我一直没有成功,因为我似乎只能使用OR运算符:
grepl("*^55|*Roof", dataset$longname)
Run Code Online (Sandbox Code Playgroud)
最终,我希望实现这样的目标:
grepl("*^55&&*Roof", dataset$longname)
Run Code Online (Sandbox Code Playgroud)
要么
grepl("*^55&*Roof", dataset$longname)
Run Code Online (Sandbox Code Playgroud)
(显然,这些都不起作用 - 它们仅用于说明.)
我希望我的结果能够显示任何55以及在其中包含Roof任何单词的内容.
例如,我希望这些结果可以被grepl()函数选取:
55 - Roof Structure
Run Code Online (Sandbox Code Playgroud)
和
55-Wall to Roof
Run Code Online (Sandbox Code Playgroud)
是否有AND可以使用的运算符grepl()?
我想创建一个单一的正则表达式(如果可能的话)来搜索字符串并确定两个单词是否出现在同一个字符串中.我知道我可以使用两个grepl语句(如下所示),但我想使用单个正则表达式来测试这个条件.正则表达式越有效越好.
我想找到包含"man"和"dog"不区分大小写的字符串.
x <- c(
"The dog and the man play in the park.",
"The man plays with the dog.",
"That is the man's hat.",
"Man I love that dog!",
"I'm dog tired"
)
## this works but I want a single regex
grepl("dog", x, ignore.case=TRUE) & grepl("man", x, ignore.case=TRUE)
Run Code Online (Sandbox Code Playgroud) 我有一个数据框 df ,其中包含一列文本字符串和一个单独的值列表:
c1 <- c("Jim Mackinnon","Jane Smit","Sunday 9-10","Wednesday 14-15","Friday 19-20")
c2 <- c("1123","4923","6924","4301","5023")
df <- as.data.frame(c2,c1)
df
c1 c2
Jim Mackinnon 1123
Jane Smit 4923
Sunday 9-10 6924
Wednesday 14-15 4301
Friday 19-20 5023
list_values <- c("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
Run Code Online (Sandbox Code Playgroud)
目的是仅选择包含 c1 中的值(该值包含 list_values 中的字符串之一)的行。在示例中,这意味着仅选择第 3-5 行并丢弃其余行。有没有一种方法可以在不迭代的情况下做到这一点?