Вы можете использовать функцию isalpha()
в выражении генератора. Затем объедините символы как один string
, используя join()
.
def extract_string(s):
return ''.join(i for i in s if i.isalpha())
Пример вывода:
print extract_string(':::ABC???,:::DEF???')
>>> ABCDEF
Однако это только для извлечения всех символов, если вы хотите извлечь только символы между ~...^
: выход
import re
def extract_string(s):
match = re.findall(r"~([a-zA-z]*)\^", s)
return match
Пример:
s = ' ~ABC^,~DEF^'
print extract_string(s)
>>> ['ABC', 'DEF']
Просто примечание стороны: если вы разбираете HTML с использованием регулярных выражений и/или строку манипуляции, как famous S.O. reply предполагает, пожалуйста, используйте HTML-парсер; например, вместо библиотеки Beautiful Soup: D!
что это значит '(. * ?) '? – dragon