Jak usunąć zarejestrowany, znaków towarowych, praw autorskich i symboli z łańcucha?

głosy
0

Mam dataframe z nazwami obiektów. Niektóre z obiektów posiadają specjalne symbole, takie jak ® i ™

Przykład:
ProStand® przednia Air Suspension
ONCO ™ Connector

Próbowałem db[grep(®,db$objectName), ]znaleźć specjalne symbole R, ale nie jest wybranie go chociaż zobaczyć je w dataframe.

To nie działało
db$objectName[db$objectName == ProStand® Front Air Suspension ]<- ProStand Front Air Suspension

Jak mogę znaleźć znaki specjalne i usunąć je z ciągów w moim dataframe?

Utwórz 10/10/2019 o 01:02
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
1

Jeśli szukasz czegoś trochę bardziej uniwersalne, a przy użyciu stringr, można spróbować, na przykład:

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

co daje

"ProStand Front Air Suspension"

To w zasadzie usuwa wszystko, co nie jest liczbą, a nie list, a nie przestrzeń.

Odpowiedział 10/10/2019 o 01:10
źródło użytkownik

głosy
0

Oto jeden dopasowując Unicode i zastąpienie go puste

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

dane

str1 <- "ProStand® Front Air© Suspension™"
Odpowiedział 10/10/2019 o 01:17
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more