[英]R: filter for rows in a character vector that contain strings with numbers/digits
我正在尋找一種過濾R中字符向量的方法。我只想保留那些包含任何數字或數字的行。 不包含數字的行應被過濾掉。 完成過濾后,我想提取這些數字。 我該怎么辦?
我們可以使用從字符串的開頭( ^
)到結尾( $
)匹配一個或多個非數字( \\\\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 <- c("az1", "AB", "Abc2", "123")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.