R:筛选字符向量中包含数字/数字字符串的行
我正在寻找一种方法来过滤R中的字符向量。我只想保留那些包含任何数字或数字的行。应过滤掉不包含数字的行。在我完成过滤之后,我想提取这些数字。我该怎么做呢?我们可以使用匹配一个或多个非数字(R:筛选字符向量中包含数字/数字字符串的行,r,R,我正在寻找一种方法来过滤R中的字符向量。我只想保留那些包含任何数字或数字的行。应过滤掉不包含数字的行。在我完成过滤之后,我想提取这些数字。我该怎么做呢?我们可以使用匹配一个或多个非数字(\\D+)的grep,从字符串的开始(^)到结束($),使用value=TRUE和invert=TRUE来获取与模式不匹配的元素 grep("^\\D+$", v1, value = TRUE, invert = TRUE) #[1] "az1" "Abc2" "123" 或使用 grep("\\d+",
\\D+
)的grep
,从字符串的开始(^
)到结束($
),使用value=TRUE
和invert=TRUE
来获取与模式不匹配的元素
grep("^\\D+$", v1, value = TRUE, invert = TRUE)
#[1] "az1" "Abc2" "123"
或使用
grep("\\d+", v1, value = TRUE)
#[1] "az1" "Abc2" "123"
假设我们需要过滤掉只有数字的情况
grep("([A-Za-z].*[0-9])|[0-9].*[A-Za-z].*[0-9]", v1, value = TRUE)
#[1] "az1" "Abc2"
数据
v1我们可以使用从字符串的开始(^
)到结束($
)匹配一个或多个非数字(\\D+
)的grep
),使用value=TRUE
和invert=TRUE
获取与模式不匹配的元素
grep("^\\D+$", v1, value = TRUE, invert = TRUE)
#[1] "az1" "Abc2" "123"
或使用
grep("\\d+", v1, value = TRUE)
#[1] "az1" "Abc2" "123"
假设我们需要过滤掉只有数字的情况
grep("([A-Za-z].*[0-9])|[0-9].*[A-Za-z].*[0-9]", v1, value = TRUE)
#[1] "az1" "Abc2"
数据
v1发帖前,我只是想确认一下。假设你有像“123”这样的字符串,你会把它过滤掉吗?不,我想把它留下。不管有多少个数字,我只想过滤掉不包含任何数字的行。在发布之前,我只想确认一下。假设你有像“123”这样的字符串,你会把它过滤掉吗?不,我想把它留下。无论有多少个数字,我只想过滤掉不包含任何数字的行。