Страница 1 из 1
Удалить символ \ из строки
Добавлено: 13 окт 2020, 10:13
VistaSV30
Добрый день!
Подскажите как удалить символ \ из строки.
С другими символами получается
Код: Выделить всё
S <-": . \ | ( ) [ { $ * + ?, "
gsub("\\.", "", S) # удалить все точки из строки S, со слэшем так не получается
gsub("[[:punct:]]", " ", S) # удалить все специальные символы и знаки пунктуации
Мне нужно убрать только слэш, остальные символы пунктуации убирать не надо.
Спасибо!
Re: Удалить символ \ из строки
Добавлено: 13 окт 2020, 10:48
nickleb
Re: Удалить символ \ из строки
Добавлено: 13 окт 2020, 10:54
VistaSV30
Нет я поторопился радоваться.
У меня в тексте встречаются названия, которые R извлекает из базы в таком виде:
ПАО \"ДОЗАКЛ\"
Вот здесь нужно бы убрать слэши. Приведенный выше способ к сожалению не работает.
Re: Удалить символ \ из строки
Добавлено: 13 окт 2020, 11:01
nickleb
...а, если просто S, введённое Вами, напечатаете - так там символа слэш и нет вообще
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
Вы просто путаете внешнее представление и внутреннее. При печати спецсимволы экранируются слэшем. Поэтому копировать нужно из текстового файла, если лень экранировку убирать.