Хобрук: Ваш путь к мастерству в программировании

как удалить [ и ] из строки в R

Я пытаюсь удалить символы [ и ] из строки в R, я пробовал следующий код:

gsub("[]", "", p1)

но это не работает.

09.05.2015

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

Ответы:


1

Это не работает, потому что [] указывает на недопустимый класс символов, в котором он должен выдавать ошибку говоря «недопустимое регулярное выражение», вам нужно собрать полный класс символов.

gsub('[][]', '', p1)

Я бы порекомендовал прочитать классы символов или наборы символов...

09.05.2015

2

Можешь попробовать:

x = 'mycharac[ter]'
gsub('\\[|\\]','',x)
#[1] "mycharacter"
09.05.2015
Новые материалы

Мой процесс подачи заявки в Школе программного обеспечения и дизайна Тьюринга
Мой последний пост на Medium был в конце августа, и в нем я пообещал написать еще раз, рассказывая историю моего процесса подачи заявки в Школу программного обеспечения и дизайна Тьюринга ...

Генерация ваших собственных удивительных QR-кодов с использованием Python
QR-код (код быстрого ответа) — это разновидность матричных штрих-кодов (или двумерных штрих-кодов), изобретенных в 1994 году японской автомобильной компанией Denso Wave . Штрих-код —..

Прогресс в технологии Трансформеров часть 3
Многомасштабный управляющий сигнальный преобразователь для бесфазного синтеза движения (arXiv) Автор: Линтао Ван , Кун Ху , Лей Бай , Юй Дин , Ваньли Оуян , Чжиюн Ван . Аннотация:..

Представляем поддержку компонентов Vue.js. Мгновенный HMR и многое другое.
Хотя у FuseBox уже был плагин Vue, он был базовым и не имел многих функций, которые делали работу с Vue.js такой приятной. Однако с этим выпуском мы рады сообщить, что в FuseBox..

Приключения в Javascript, часть 1
Я продолжаю думать о том, чтобы писать больше, но чем больше я думаю об этом, тем меньше я это делаю. Итак, сегодня я перестал думать и начал писать. Отсюда можно только спускаться… В..

Понимание дженериков в TypeScript: подробное руководство
Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..