Remove weird symbols from string

社会主义新天地 提交于 2021-01-29 22:36:12

问题


I have vector contains strings in Polish. First 8 are presented below on picture.

As you might see strings contains weird symbols. I used dput() to find out hide symbols. The output as follow:

> music & more spa<U+0093>a\201ka z ograniczonä<U+0084> odpowiedzialnoa<U+009A>ciä<U+0084>
> hemmersbach central support spa3a<U+0082>ka z o.o. sp. k. 
> grupa kapitaa<U+0082>owa naprza3d", "automex spa3a<U+0082>ka z o.o. spa3a<U+0082>ka k. 
> spa3a<U+0082>dzielnia usa<U+0082>ugowa vig ekspert, vienna insurance group
> agata spa3a<U+0082>ka akcyjna", "smeo spa3a<U+0082>ka akcyjna
> pgnig obra3t detaliczny sp. z o.o.

Last string (8) contains "ã³/a3" which probably represent polish letter "ó". I used sub/gsub to replace but it does not work.

df %>%
mutate(nazwa = sub("ã³|a3", "ó", nazwa))

After processing strings should be as follow:

> music & more spółka z ograniczoną odpowiedzialnością
> hemmersbach central support spółka z o.o. sp. k. 
> grupa kapitałowa naprzód
> automex spółka z o.o. spółka k. 
> spółdzielnia usługowa vig ekspert, vienna insurance group
> agata spółka akcyjna
> smeo spółka akcyjna
> pgnig obrót detaliczny sp. z o.o.

My question is how can I clean up strings?

Sample string with bytes:

sample <- rawToChar(as.raw(c(112L, 103L, 110L, 105L, 103L, 32L, 111L, 98L, 114L, 195L, 163L, 
194L, 179L, 116L, 32L, 100L, 101L, 116L, 97L, 108L, 105L, 99L, 
122L, 110L, 121L, 32L, 115L, 112L, 46L, 32L, 122L, 32L, 111L, 
46L, 111L, 46L)))
desired <- "pgnig obrót detaliczny sp. z o.o."

@ My OS is Windows 10
@ I know nothing about character encoding. Data were scraped from web page few years ago
@ Data scraped from pracu.pl
@ Output saved in .xslx file
@ I use readxl library to import data in R

来源:https://stackoverflow.com/questions/63530488/remove-weird-symbols-from-string

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!