У меня есть некоторые строки, что я хочу удалить некоторые нежелательные символы от них. Например: Adam'sApple ----> AdamsApple
. (нечувствительный к регистру) Может кто-то помогать мне, мне нужен самый быстрый способ сделать это, для порождения у меня есть несколько миллионов записей, которые должны полироваться.Спасибо
Один простой способ:
>>> s = "Adam'sApple"
>>> x = s.replace("'", "")
>>> print x
'AdamsApple'
... или посмотрите на regex-замены.
Любые символы во втором аргументе метода translate удаляются:
>>> "Adam's Apple!".translate(None,"'!")
'Adams Apple'
ПРИМЕЧАНИЕ: translate требует Python 2.6 или более поздней версии, чтобы использовать None для первого аргумента, который в противном случае должен быть строкой перевода длиной 256. string.maketrans('','') может использоваться вместо None для версий до 2.6.
Попробуйте:
"Adam'sApple".replace("'", '')
Еще один шаг, чтобы заменить несколько символов ничем:
import re
print re.sub(r'''['"x]''', '', '''a'"xb''')
Результат:
ab
Как уже неоднократно отмечалось, нужно использовать либо replace
, либо регулярные выражения (скорее всего, регексы вам не нужны), но если вам также нужно убедиться, что результирующая строка является простой ASCII (не содержит таких забавных символов, как é, ò, µ, æ или φ), вы можете, наконец, сделать
>>> u'(like é, ò, µ, æ or φ)'.encode('ascii', 'ignore')
'(like , , , or )'