Удаление нежелательных символов от строки в Python

У меня есть некоторые строки, что я хочу удалить некоторые нежелательные символы от них. Например: Adam'sApple ----> AdamsApple. (нечувствительный к регистру) Может кто-то помогать мне, мне нужен самый быстрый способ сделать это, для порождения у меня есть несколько миллионов записей, которые должны полироваться.Спасибо

5
задан SilentGhost 6 May 2010 в 12:14
поделиться

5 ответов

Один простой способ:

>>> s = "Adam'sApple"
>>> x = s.replace("'", "")
>>> print x
'AdamsApple'

... или посмотрите на regex-замены.

6
ответ дан 18 December 2019 в 09:48
поделиться
str.replace("'","");
{{1 }}
1
ответ дан 18 December 2019 в 09:48
поделиться

Любые символы во втором аргументе метода translate удаляются:

>>> "Adam's Apple!".translate(None,"'!")
'Adams Apple'

ПРИМЕЧАНИЕ: translate требует Python 2.6 или более поздней версии, чтобы использовать None для первого аргумента, который в противном случае должен быть строкой перевода длиной 256. string.maketrans('','') может использоваться вместо None для версий до 2.6.

5
ответ дан 18 December 2019 в 09:48
поделиться

Попробуйте:

"Adam'sApple".replace("'", '')

Еще один шаг, чтобы заменить несколько символов ничем:

import re
print re.sub(r'''['"x]''', '', '''a'"xb''')

Результат:

ab
2
ответ дан 18 December 2019 в 09:48
поделиться

Как уже неоднократно отмечалось, нужно использовать либо replace, либо регулярные выражения (скорее всего, регексы вам не нужны), но если вам также нужно убедиться, что результирующая строка является простой ASCII (не содержит таких забавных символов, как é, ò, µ, æ или φ), вы можете, наконец, сделать

>>> u'(like é, ò, µ, æ or φ)'.encode('ascii', 'ignore')
'(like , , ,  or )'
1
ответ дан 18 December 2019 в 09:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: