如何使用R检查字符串是否至少包含以下字符之一/\:*?"<>|
。另外,我希望字符串可以包含任何其他字符,例如-
。
实际上这些字符是Windows目录(文件夹)名称不允许的字符。
答案 0 :(得分:3)
定义要在字符串中找到的模式,然后使用grepl
找到它们
pattern <- "/|:|\\?|<|>|\\|\\\\|\\*"
myStrings <- c("this/isastring", "this*isanotherstring", "athirdstring")
grepl(pattern, myStrings)
# [1] TRUE TRUE FALSE
细分pattern
:
如果是
pattern <- "/"
这只会搜索“/”
垂直条/管道用作图案上的“OR”条件,所以
pattern <- "/|:"
正在搜索“/”或“|”
搜索“|”角色本身,你需要使用“\”
来逃避它pattern <- "/|:|\\|"
要搜索“\”字符,你也需要逃避它(对于其他特殊字符,类似的,?,*,......
pattern <- "/|:|\\?|<|>|\\|\\\\"