Удалить символ \ из строки

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
Аватара пользователя
VistaSV30
Активный участник
Сообщения: 185
Зарегистрирован: 02 июл 2018, 15:05
Репутация: 7
Откуда: Балашиха

Удалить символ \ из строки

Сообщение VistaSV30 » 13 окт 2020, 10:13

Добрый день!
Подскажите как удалить символ \ из строки.

С другими символами получается

Код: Выделить всё

S <-": . \ | ( ) [ { $ * + ?, "
gsub("\\.", "", S) # удалить все точки из строки S, со слэшем так не получается
gsub("[[:punct:]]", " ", S) # удалить все специальные символы и знаки пунктуации

Мне нужно убрать только слэш, остальные символы пунктуации убирать не надо.

Спасибо!
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: Удалить символ \ из строки

Сообщение nickleb » 13 окт 2020, 10:48

Код: Выделить всё

(S_without_Slash <- gsub("\\/", "", S))

Аватара пользователя
VistaSV30
Активный участник
Сообщения: 185
Зарегистрирован: 02 июл 2018, 15:05
Репутация: 7
Откуда: Балашиха

Re: Удалить символ \ из строки

Сообщение VistaSV30 » 13 окт 2020, 10:54

Нет я поторопился радоваться.

У меня в тексте встречаются названия, которые R извлекает из базы в таком виде:
ПАО \"ДОЗАКЛ\"

Вот здесь нужно бы убрать слэши. Приведенный выше способ к сожалению не работает.
Последний раз редактировалось VistaSV30 13 окт 2020, 11:12, всего редактировалось 2 раза.
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: Удалить символ \ из строки

Сообщение nickleb » 13 окт 2020, 11:01

...а, если просто S, введённое Вами, напечатаете - так там символа слэш и нет вообще :D

Аватара пользователя
VistaSV30
Активный участник
Сообщения: 185
Зарегистрирован: 02 июл 2018, 15:05
Репутация: 7
Откуда: Балашиха

Re: Удалить символ \ из строки

Сообщение VistaSV30 » 13 окт 2020, 11:23

Ну так то да. Если этот текст экспортировать в Excel то слэш исчезает. Но в консоли R так не получается. Должен же быть какой-то "волшебный" способ типа "[[:punct:]]"
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Удалить символ \ из строки

Сообщение gamm » 13 окт 2020, 13:06

VistaSV30 писал(а):
13 окт 2020, 10:54
У меня в тексте встречаются названия, которые R извлекает из базы в таком виде
для начала убедитесь, что именно извлекает, а не просто печатает. Запишите в файл, и посмотрите там.

Аватара пользователя
VistaSV30
Активный участник
Сообщения: 185
Зарегистрирован: 02 июл 2018, 15:05
Репутация: 7
Откуда: Балашиха

Re: Удалить символ \ из строки

Сообщение VistaSV30 » 13 окт 2020, 14:30

В базе текст хранится просто с кавычками - ЗАО "Надежда".
Когда R этот текст вставляет в строку, то получается - ЗАО \"Надежда\".
При экспорте текста в Excel, Excel сам исправляет текст. Но если нужно текст скопировать из консоли R, то пока приходится вручную удалять слэши
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Удалить символ \ из строки

Сообщение gamm » 13 окт 2020, 16:16

Вы просто путаете внешнее представление и внутреннее. При печати спецсимволы экранируются слэшем. Поэтому копировать нужно из текстового файла, если лень экранировку убирать.

Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей