问题:第一次用爬虫抓取网页,爬取的内容中包含空格、换行\r等,需要把这些去掉,只保留有用字符串。用strip()和replace()都无法去除,百度半天也没有找到办法。找到一个类似问题的帖子,原因看了半天还是没理解,找教程也没有说明。最后试着对比字符串处理前后的变化,终于发现问题所在。
链接:https://blog.csdn.net/tongjinrui/article/details/78911989
“replace替换字符串的时候,需要重新赋值给变量,因为在python中字符串是不可变对象,因此在使用的时候我们必须重新赋值,就这么简单。”
原因:使用字符串的内建函数不能改变原字符串的值,如需改变,需要对原字符串重新赋值。看下面的例子就明白了。
例子:
str1=' string with spapce\n'
str2=str1.strip()
print("str1:",str1)
print("str2:",str2)
str1=str1.strip()
print("new str1:",str1)
输出结果:
str1: string with spapce
str2: string with spapce
new str1: string with spapce