Удалить файлы WorkSpace - PullRequest
       0

Удалить файлы WorkSpace

0 голосов
/ 24 февраля 2020
a1 = 1
a2 = 2
bfrog = 5
btart = 9
c = 0

rm(list = ls(pattern = "^a"))
rm(list = ls(pattern = "^b"))

Это работает, но мне интересно, почему это не работает: rm(list = ls(pattern = "^a" | pattern = "^b"))

Ответы [ 2 ]

1 голос
/ 24 февраля 2020

Ваш предложенный код rm(list = ls(pattern = "^a" | pattern = "^b")) не работает, потому что вы указываете несколько аргументов с одинаковым именем pattern.

Вместо этого вы должны использовать regex для реализации 'или', используя:

rm(list = ls(pattern = "^[ab]"))

Важнейшая часть здесь:

ls(pattern = "^[ab]")

Что является регулярным выражением для: всего, что начинается с (^) одной из вещей ([]), которая является a или a b.

См. также:

grepl("^[ab]", c("astart", "bstart", "dstart"))

Возвращает:

[1]  TRUE  TRUE FALSE
1 голос
/ 24 февраля 2020

Вы должны поместить его в строку шаблона:

ls(pattern = "^a|^b")

pattern требует регулярного выражения, и их можно разделить на |

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...