Хотите извлечь буквенно-цифровой текст с определенными специальными символами, используя регулярное выражение Python - PullRequest
0 голосов
/ 27 марта 2019

У меня есть следующий текст, который я хочу в желаемом формате, используя регулярное выражение Python

text = "' PowerPoint PresentationOctober 11th, 2011(Visit) to Lap Chec1Edit or delete me in ‘view’ then ’slide master’.'"

Я использовал следующий код

reg = re.compile("[^\w']")
text = reg.sub(' ', text)

Тем не менее, он дает вывод в виде текста = "'PowerPoint PresentationOctober 11th 2011 Visit to Lap Chec1Edit or delete me in â viewâ then â slide masterâ'", который не является желаемым выводом.

Мой желаемый результат должен быть text = '"PowerPoint PresentationOctober 11th, 2011(Visit) to Lap Chec1Edit or delete me in view then slide master.'" Я хочу удалить специальные символы, кроме следующих []()-,.

Ответы [ 2 ]

1 голос
/ 27 марта 2019

Вместо того, чтобы удалять символы, вы можете исправить их, используя правильную кодировку:

text = text.encode('windows-1252').decode('utf-8')
// => ' PowerPoint PresentationOctober 11th, 2011Visit to Lap Chec1Edit or delete me in ‘view’ then ’slide master’.'

См. Демоверсию Python

Если вы захотите удалить их позже, это станет намного проще, например text.replace('‘', '').replace('’', '') или re.sub(r'[’‘]+', '', text).

0 голосов
/ 27 марта 2019

Я получил ответ, хотя это было просто следующим образом, спасибо за ответы.

reg = re.compile("[^\w'\,\.\(\)\[\]]")
text = reg.sub(' ', text)
...