2013-08-07 3 views
1

Я пытаюсь выяснить, есть ли более быстрые способы очистки этой возвращенной строки. Или это лучший способ. Это работает, но более эффективные способы всегда нужны.Лучше код, а затем regex sub() python 2.7

У меня есть функция, которая возвращает следующий результат:

"("This is your:, House")" 

Я очистить его перед печатью с:

a = re.sub(r'^\(|\)|\,|\'', '', a) 
print a 

>>> This is your: House 

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

ответ

2

Для этого вам не нужно использовать регулярное выражение.

>>> import string 
>>> a = '"("This is your:, House")"' 
>>> ''.join(x for x in a if x not in string.punctuation) 
'This is your House' 

>>> tbl = string.maketrans('', '') 
>>> a.translate(tbl, string.punctuation) 
'This is your House' 
0
s='"("This is your:, House")"' 
s.replace('\"','').replace('(','').replace(')','').replace(',','').replace(':','') 
'This is your House' 
Смежные вопросы