我已将URL请求的二进制结果转换为文本字符串,然后尝试使用以下代码将'\ n'的实例替换为'',将'\ n'替换为'':
newvar = str(oldvar)
newvar.replace('\r', '')
newvar.replace('\n', ' ')
但是,当变量newvar打印到日志并写入文件时,它会保留'\ r'和'\ n'。我究竟做错了什么?我正在使用建议的确切语法,并且我已经在线阅读。
由于
答案 0 :(得分:4)
replace
没有修改字符串,因为字符串是不可变的;它会创建一个新字符串,您需要指定它:
newvar = newvar.replace('\r, '')
答案 1 :(得分:0)
你需要set var来做到这一点:
newvar = str(oldvar)
newvar = newvar.replace('\r', '')
newvar = newvar.replace('\n', ' ')
然后打印:
print newvar
答案 2 :(得分:0)
我们的想法是将替换项分配给现有的变量:
newvar = (str(oldvar))
newvar = newvar.replace('\r','')
newvar = newvar.replace('\n','')
答案 3 :(得分:0)
与许多问题一样,这归结为阅读友情Manual:
str.replace(old,new [,count])
返回字符串的副本 [emphasis mine] ,其中所有出现的substring old都替换为new。如果给出了可选参数计数,则仅替换第一次计数出现次数。
这不会改变字符串。 返回字符串的副本,已修改。