【发布时间】:2017-11-25 21:46:23
【问题描述】:
我需要将“!@#$%^&*()\n{}[]()_-+=<>?\xa0;'/.,”替换为空白。我正在使用替换方法,但它似乎在 python 3.6 上已被弃用。 word_list = [] 是一个列表,其中包含从网页中提取的所有单词。然后clean_up_list 方法将清除符号并用空格替换它们。
我使用for 循环遍历符号的长度并将符号替换为空白。我用了
word = word.replace(symbols[i],"") ;有关如何使用 replace 方法的任何帮助,以便替换符号并打印单词之间没有符号。
错误:
AttributeError: 'list' object has no attribute 'replace'
我的代码:
url = urllib.request.urlopen("https://www.servicenow.com/solutions-by-category.html").read()
word_list = []
soup = bs.BeautifulSoup(url,'lxml')
word_list.append([element.get_text() for element in soup.select('a')])
print(word_list)
def clean_up_list(word_list):
clean_word_list = []
for word in word_list:
symbols = "!@#$%^&*()\n{}[]()_-+=<>?\xa0;'/.,"
for i in range(0,len(symbols)):
word = word.replace(symbols[i],"")
#print(type(word))
#print(type(word))
#word.replace(symbols[i]," ")
if(len(word) > 0):
#print(word)
clean_word_list.append(word)
【问题讨论】:
-
replace不折旧,它是一个字符串方法,不适用于列表。请参阅建议的欺骗以了解如何执行字符串替换
标签: python replace python-3.6