我搜索了很多线程,但它们都需要导入(BeautifulSoup、正则表达式)。输入是一个大字符串,其中多次出现分隔符(“<”、“>”) 我听说配对标签是一种很好的技术,但我不知道如何去做。示例(非常小)输入:实际输入是整个 HTML 代码。<!DOCTYPE html><html>example<head>hello<meta charset="utf-8">example2<meta/>期望的输出:example hello example2
2 回答
MYYA
TA贡献1868条经验 获得超4个赞
这是使用简单循环的简单易懂的方法:
str = '<!DOCTYPE html><html>example<head>hello<meta charset="utf-8">'
words = []
temp = ""
flag = 0
for i in str:
if i=="<":
flag = 0
if temp:
words.append(temp)
temp = ""
elif i==">":
flag=1
else:
if flag==1:
temp += i
print(words) # prints ['example', 'hello']
陪伴而非守候
TA贡献1757条经验 获得超8个赞
将变量初始化tag_depth为零。
一次迭代一个字符的字符串。如果您看到一个<字符,则增加tag_depth,如果您看到一个>字符,则减少它。如果看到任何其他字符且tag_depth为零,则输出该字符。
tag_depth = 0
for c in mystring:
if c == '<':
tag_depth += 1
elif c == '>':
tag_depth -= 1
elif tag_depth == 0:
print(f"{c}", end=0)
添加回答
举报
0/150
提交
取消