1

我试图找出是否有更好更快的方法来清理这个返回的字符串。或者这是最好的方法。它有效,但总是需要更有效的方法。

我有一个返回以下输出的函数:

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

我在打印之前清理它:

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

>>> This is your: House

我也从人们做事的不同方式中学到了很多。

4

2 回答 2

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'
于 2013-08-07T05:26:23.537 回答
0
s='"("This is your:, House")"'
s.replace('\"','').replace('(','').replace(')','').replace(',','').replace(':','')
'This is your House'
于 2013-08-07T11:56:26.580 回答