Я пытаюсь удалить символы [ и ] из строки в R, я пробовал следующий код:
gsub("[]", "", p1)
но это не работает.
Я пытаюсь удалить символы [ и ] из строки в R, я пробовал следующий код:
gsub("[]", "", p1)
но это не работает.
gsub("[\\]\\[]", "", p1)
. Первый аргумент gsub()
— это регулярное выражение, а левая и правая скобки — это специальные символы, обозначающие класс символов, а "[]"
ничему не соответствует. Я обновил строку регулярного выражения в соответствии с комментарием @BondedDust. 09.05.2015 gsub("[][]", "", "yy][]oo]") [1] "yyoo"
. Я не добился успеха с решением Jthorpe, но использую этот шаблон: "\\]|\\["
09.05.2015 "]["
) соответствовала ]
, за которой следует '[', что, очевидно, было неправильным... этот шаблон "[][]]"
представляет собой класс выражения с двумя членами ( [
и ]
) и '\\[|\\] ' соответствует [
или ]
. Обратите внимание на двойные escape-символы: один для экранирования \ в строке R, другой для экранирования [
в регулярном выражении. 10.05.2015 ?regex
, но при использовании классов символов он работает, потому что для включения ]
в класс символов он должен стоять первым в списке. gsub("[][]", "", p1)
- это решение, которое я предпочитаю. 10.05.2015 Это не работает, потому что []
указывает на недопустимый класс символов, в котором он должен выдавать ошибку говоря «недопустимое регулярное выражение», вам нужно собрать полный класс символов.
gsub('[][]', '', p1)
Я бы порекомендовал прочитать классы символов или наборы символов...
Можешь попробовать:
x = 'mycharac[ter]'
gsub('\\[|\\]','',x)
#[1] "mycharacter"