连续删除重复的单词 Python

Delete repeated words in a row Python

原来我用的是beautifulsoup,在table中过滤时,得到的数据如下:

["<td>9111/2018 2222/18</td>", '<td style="font-size: small;">AINDUSTRIAL </td>', 
 "<td>18-05-2018</td>", "<td>Juz. 5 Posá<td>POSA</td></td>", 
 "<td>POSA</td>"]

我只需要提取显示 "Juz 5. Posá""<td>"(尽管对于我正在做的事情,名称会有所不同)但我只需要该列。我留下了代码,因为我设法使输出是:

Juz. 5 PosáPOSA

我只需要Juz。 5 Posá,但不幸的是我碰到了另一个词。然后是代码,当然非常感谢!

soup = BeautifulSoup(html.text,from_encoding="utf-8")

table = soup.findChildren('table')[0]
for row in table.find_all("tr")[1:]:
    col = row.find_all("td")
    print(col[3].text.replace('\n',''))
    if not cells:
        continue

不确定这是否是您正在寻找的,但这里有两个解决方案。

解决方案#1

递归删除字符“<、>、/、td”

for i in range(len(x)):
  x = x.replace("<", "")
  x = x.replace(">", "")
  x = x.replace("/", "")
  x = x.replace("td", "")
print(x)

解决方案 #2

第一个 Select 列表项[3]

x = x[3]

Select 字符串的前 4 个字符,因为它以

开头
x = x[4:]

然后找到“<”的索引,因为下一个td标签将以<开头,并删除<索引后的所有内容

print(x[:x.index("<")])