相关疑难解决方法(0)

是否可以在grepl()中使用AND运算符?

我想在其中搜索任何以及开头的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()

logic r logical-operators grepl

8
推荐指数
2
解决办法
5302
查看次数

R正则表达式找到两个单词相同的字符串,顺序和距离可能会有所不同

我想创建一个单一的正则表达式(如果可能的话)来搜索字符串并确定两个单词是否出现在同一个字符串中.我知道我可以使用两个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)

regex r

6
推荐指数
2
解决办法
3265
查看次数

根据列表中包含字符串的数据选择多行

我有一个数据框 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 行并丢弃其余行。有没有一种方法可以在不迭代的情况下做到这一点?

select r dataframe

0
推荐指数
1
解决办法
1874
查看次数

标签 统计

r ×3

dataframe ×1

grepl ×1

logic ×1

logical-operators ×1

regex ×1

select ×1