Манипулирование данными: как заменить артефакты внутри текстового столбца? - PullRequest
0 голосов
/ 02 ноября 2018

Цель состоит в том, чтобы найти и заменить артефакты из pdf-разбора в текстовом столбце с именем «text» в пределах кадра данных для каждой строки.

"<U+FB01>" следует заменить на "fi" & "<U+FB02>" заменяется на "fl"

df<-data.frame(text=c('Das neue P<U+FB02>ege<U+FB01>nanzierungsgesetz','Die Kon<U+FB02>ikte zwischen Spitalrat und','Im neuen Spital<U+FB01>nanzierungsgesetz, welches'))

должно быть:

df2<-data.frame(text=c('Das neue Pflegefinanzierungsgesetz','Die Konflikte zwischen Spitalrat und','Im neuen Spitalfinanzierungsgesetz, welches'))

Скриншот кадра данных: https://i.imgur.com/UvFIrNg.png

Ближайшее решение, которое я смог найти (но не могу заставить его работать): Поиск текста в столбце и полная замена

Спасибо за ваше время!

1 Ответ

0 голосов
/ 02 ноября 2018

Вы можете использовать gsub:

df <- data.frame(text=c('acbd<U+FB01>efg', 'abc<U+FB01> efg <U+FB02>', 'ab cd'),
                 stringsAsFactors = F)
df

#                      text
#1          acbd<U+FB01>efg
#2 abc<U+FB01> efg <U+FB02>
#3                    ab cd

df$text <- gsub('<U\\+FB01>', 'fi', df$text)
df$text <- gsub('<U\\+FB02>', 'fl', df$text)
df

#          text
#1    acbdfiefg
#2 abcfi efg fl
#3        ab cd

Обратите внимание, что \\ экранирует символ +, который имеет особое значение в регулярном выражении.

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