R,检查字符串中是否有特殊字符

时间:2017-07-13 01:41:27

标签: r

如何使用R检查字符串是否至少包含以下字符之一/\:*?"<>|。另外,我希望字符串可以包含任何其他字符,例如-

实际上这些字符是Windows目录(文件夹)名称不允许的字符。

1 个答案:

答案 0 :(得分:3)

定义要在字符串中找到的模式,然后使用grepl找到它们

pattern <- "/|:|\\?|<|>|\\|\\\\|\\*"

myStrings <- c("this/isastring", "this*isanotherstring", "athirdstring")

grepl(pattern, myStrings)
# [1] TRUE TRUE FALSE

细分pattern

如果是

pattern <- "/"

这只会搜索“/”

垂直条/管道用作图案上的“OR”条件,所以

pattern <- "/|:"

正在搜索“/”或“|”

搜索“|”角色本身,你需要使用“\”

来逃避它
pattern <- "/|:|\\|"

要搜索“\”字符,你也需要逃避它(对于其他特殊字符,类似的,?,*,......

pattern <- "/|:|\\?|<|>|\\|\\\\"

参考: Dealing with special characters in R