如何從此字串中拆分“Value1”和“Value2”?
my_str = '<a href="default.html" target="_top">Value1</a><a href="browser.html" target="_top">Value2</a>'
我嘗試這樣做,但它不起作用。
my_str = '<a href="default.html" target="_top">Value1</a><a href="browser.html" target="_top">Value2</a>'
for i in my_str:
i = str(i).split('^<a.*>$|</a>')
print(i)
uj5u.com熱心網友回復:
您可以使用bs4.BeautifulSoup:
from bs4 import BeautifulSoup
soup = BeautifulSoup(my_str)
out = [st.string for st in soup.find_all('a')]
輸出:
['Value1', 'Value2']
uj5u.com熱心網友回復:
另一種方法是使用清理技術進行提取,您拆分一個字符并洗掉不需要的值。
這是代碼,我用過
my_str = '<a href="default.html" target="_top">Value1</a><a href="browser.html" target="_top">Value2</a>'
strList = my_str.split('/a>',maxsplit = 2)
for i in strList:
try:
print(i.split('>')[1].replace('<',''))
except IndexError:
pass
這將為您提供 Value1 和 Value2
uj5u.com熱心網友回復:
如果您想對 html 進行正則運算式拆分,您又不應該這樣做(請參閱上面的 bs4 答案以獲得更好的答案)。
import re
my_str = '<a href="default.html" target="_top">Value1</a><a href="browser.html" target="_top">Value2</a>'
split_str = re.findall(r'(?<=>)\w*?(?=<\/a>)', my_str)
uj5u.com熱心網友回復:
如果您想要每個元素的整個 html 元素,這將起作用。
import re
re.sub("(a>)(<a)", "\\1[SEP]\\2", my_str).split("[SEP]")
如果您只想要這些值,請執行此操作
re.findall("\>(.[^<] )<\/a>", my_str)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/385998.html
下一篇:消除單個字母周圍的空格
