【发布时间】:2020-04-21 05:28:30
【问题描述】:
是否可以从R中以$开头的字符串中提取单词?
x <- c(“$abc”, “abc”, “$123”, “456”)
想要的结果
-
(案例1)
[1] “$abc”, “$123” -
甚至更好(案例2)
[1] “$abc”
谢谢
【问题讨论】:
是否可以从R中以$开头的字符串中提取单词?
x <- c(“$abc”, “abc”, “$123”, “456”)
想要的结果
(案例1)
[1] “$abc”, “$123”
甚至更好(案例2)
[1] “$abc”
谢谢
【问题讨论】:
我们可以从stringr使用str_detect
library(stringr)
x[str_detect(x, "^\\$[A-Za-z]")]
#[1] "$abc" "$AC-DC"
x <- c("$abc", "abc", "$123", "456", "$AC-DC", "A-Z")
【讨论】:
startWith 函数(base)返回每个索引,如果值以作为参数(TRUE)或不(FALSE)提供的字符串开头,所以你可以做这样的事情
x[startsWith(x,"$")]
【讨论】:
这是我的python 代码。但它会让您了解它如何在r 中工作。这里的逻辑是一样的:
L = [“$abc”, “abc”, “$123”, “456”]
for i in L:
if "$" in i:
print(i)
我刚刚创建了一个名为L 的列表。
然后我使用for loop逐行获取列表中的所有字符串,然后打印出来。
【讨论】:
使用grep:
x <- c("$abc", "abc", "$123", "456", "$AC-DC", "A-Z")
grep("^\\$[A-Za-z]", x, value=TRUE)
#[1] "$abc" "$AC-DC"
^ 表示开头。
\\$ 表示搜索文字 $。
[A-Za-z] 表示任何字母。
【讨论】: