有没有办法只保留白名单中字符串中定义的字符?
Is there a way to keep only defined charaters in a string from a whitelist?
我正在寻找一种方法来使用包含数字和加号“+”的白名单来替换字符串中的所有其他字符。
string <- "opiqr8929348t89hr289r01++r42+3525"
我首先尝试使用:
gsub("[[:punct:][:alpha:]]", "", string)
但这也排除了“+”:
# [1] "89293488928901423525"
如何从 [:alpha:]
中排除 "+"
?
所以我的意图是改用白名单:
whitelist <- c("0123456879+")
有没有办法反过来使用 gsub()
?因为当我使用我的白名单时,它会识别应该保留的字符。
这个怎么样:
string <- "opiqr8929348t89hr289r01++r42+3525"
gsub("[^0-9+]", "", string)
# [1] "89293488928901++42+3525"
这会将不是 0-9 或加号的所有内容替换为“”。
我正在寻找一种方法来使用包含数字和加号“+”的白名单来替换字符串中的所有其他字符。
string <- "opiqr8929348t89hr289r01++r42+3525"
我首先尝试使用:
gsub("[[:punct:][:alpha:]]", "", string)
但这也排除了“+”:
# [1] "89293488928901423525"
如何从 [:alpha:]
中排除 "+"
?
所以我的意图是改用白名单:
whitelist <- c("0123456879+")
有没有办法反过来使用 gsub()
?因为当我使用我的白名单时,它会识别应该保留的字符。
这个怎么样:
string <- "opiqr8929348t89hr289r01++r42+3525"
gsub("[^0-9+]", "", string)
# [1] "89293488928901++42+3525"
这会将不是 0-9 或加号的所有内容替换为“”。