您需要存储返回值;字符串是不可变的,所以方法返回一个新的字符串与应用的更改。
可以转换为所有这些字符,但使用unicode
形式的方法:
toremove = dict.fromkeys((ord(c) for c in u'\xa0\n\t '))
outputstring = inputstring.translate(toremove)
我假设你想摆脱的空间为好。
演示:
>>> inputstring = u'\n Door:\xa0Novum \t '
>>> toremove = dict.fromkeys((ord(c) for c in u'\xa0\n\t '))
>>> outputstring = inputstring.translate(toremove)
>>> outputstring
u'Door:Novum'
更好的方法仍然是使用str.split()
,然后再加入:
outputstring = u''.join(inputstring.split())
\xa0
,空格,制表符和换行符都包含在什么str.split()
将各执,以及回车。
演示:
>>> u''.join(inputstring.split())
u'Door:Novum'
这是更好,因为它是这个工作比使用str.translate()
一个很多更快!
>>> import timeit
>>> timeit.timeit('inputstring.translate(toremove)', 'from __main__ import inputstring, toremove')
3.4527599811553955
>>> timeit.timeit('u"".join(inputstring.split())', 'from __main__ import inputstring')
0.5409181118011475
字符串是不可变的.'strip'方法不会更改原始字符串。 – vaultah 2014-09-30 17:55:32
那么,你是否收到错误信息,或者是什么? – Kevin 2014-09-30 17:56:22
不,没有任何反应 – Zlo 2014-09-30 17:57:11