Well your main reason is because str2 is looking for '\n\t+', which is not found in the statement. And also, your ideal output won't be like that because it is looking for removing all of the \n\ts, but your replace() only looks for the ones that come directly after a \n. Try this code:
>>> str1="2005-03-08\n\t\t\t\t\t10派3元(含税)\n\t\t\t\t\t"
>>> ideal = "2005-03-0810派3元(含税)" #Just to check if they are the same
>>> str2 = str1.replace('\n', '').replace('\t', '')
>>> str2
'2005-03-0810\xe6\xb4\xbe3\xe5\x85\x83(\xe5\x90\xab\xe7\xa8\x8e)' #The encoded statement
>>> print str2
2005-03-0810派3元(含税)
>>> str2==ideal
True
>>>
str.replacedoes not do regular expression replacement. If you want regular expressions, you need to import theremodule and use its functions.