如何获取startsWith函数以返回值,而不是布尔值

问题描述

我正在使用startsWith函数,并且希望它返回值,而不是布尔值。

string <- ("dem_seat","factor(state)CT","factor(state)DE")
startsWith(string,"factor(state)")
> FALSE  TRUE  TRUE

我希望它返回:

> "factor(state)CT" "factor(state)DE"

解决方法

我们可以将grepvalue = TRUE一起使用(默认情况下,它返回数字索引或位置索引)

grep("^factor\\(state\\)",string,value = TRUE)

如果我们有一个逻辑向量,我们可以将其用作子集的索引

string[startsWith(string,"factor(state)")]
,

我们可以使用str_subset中的stringr

library(stringr)

string <- c("dem_seat","factor(state)CT","factor(state)DE")
str_subset(string,fixed("factor(state)"))
#[1] "factor(state)CT" "factor(state)DE"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...