Страница 1 из 1

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

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

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

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

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

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

Спасибо!

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

Добавлено: 13 окт 2020, 10:48
nickleb

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

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

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

Добавлено: 13 окт 2020, 10:54
VistaSV30
Нет я поторопился радоваться.

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

Вот здесь нужно бы убрать слэши. Приведенный выше способ к сожалению не работает.

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

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

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

Добавлено: 13 окт 2020, 11:23
VistaSV30
Ну так то да. Если этот текст экспортировать в Excel то слэш исчезает. Но в консоли R так не получается. Должен же быть какой-то "волшебный" способ типа "[[:punct:]]"

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

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

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

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

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

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