Как удалить из строки символы зарегистрированных, торговых марок и авторских прав? - PullRequest
1 голос
/ 10 октября 2019

У меня есть датафрейм с именами объектов. Некоторые объекты имеют специальные символы, такие как ® и ™

Пример:
Передняя пневматическая подвеска ProStand®
Разъем OnCo ™

Я пробовал db[grep("®",db$objectName), ], чтобы найти специальные символы, но R не поднимает их, хотя я вижу их в кадре данных.

Это тоже не сработало
db$objectName[db$objectName == "ProStand® Front Air Suspension" ]<- "ProStand Front Air Suspension"

Как найти специальные символы и удалить их из строк в моем фрейме данных?

Ответы [ 2 ]

1 голос
/ 10 октября 2019

Вот один, сопоставив символ Юникода и заменив его пустым

library(stringr)
str_replace_all(str1, "\\u00AE|\\u00a9|\\u2122", "")
#[1] "ProStand Front Air Suspension"

data

str1 <- "ProStand® Front Air© Suspension™"
1 голос
/ 10 октября 2019

Если вы ищете что-то более общее, используя stringr, вы можете попробовать, например:

str_remove(string = "ProStand® Front Air Suspension", pattern = "[^[:alnum:][:space:]]+")

, что дает

"ProStand Front Air Suspension"

Это в основном удаляет все, что не является числом, ни буквой, ни пробелом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...