我在python中有一个字符串,我必须写入HTML文件。 Python中是否存在任何带有
等字符串的例程 "( Root ( AB ( ABC ) ( CBA ) ) ( CD ( CDE ) ( FGH ) ) )"
。
并以缩进的形式将其写入HTML文件?
(Root
(AB
(ABC)
(CBA)
)
(CD
(CDE)
(FGH)
)
)
答案 0 :(得分:0)
这是一个大致可以合并的解决方案
def format(text):
depth = 0
result = ''
text = text.replace(' ', '')
for i in range(len(text)):
c = text[i]
if c == '(':
depth += 1
result += '\n' + ' ' * depth + '('
elif c == ')':
depth -= 1
if text[i-1] != ')':
result += ')'
else:
result += '\n' + ' ' * depth + ')'
else:
result += c
return result.strip()
s = "( Root ( AB ( ABC ) ( CBA ) ) ( CD ( CDE ) ( FGH ) ) )"
print(format(s))
<script src="//repl.it/embed/IS2q/5.js"></script>
&#13;
你应该明白为什么人们不热衷于回答这个问题。您正在进入解析部门,但忽略了它的复杂性。要实现 正确 的目标,您需要定义原始格式的语法,然后您需要根据该语法进行解析。然后,需要将得到的内部结构(即解析树/语法树)格式化为所需的形式。
我的建议是使用一个完善的标准,如json来表示您的数据,而不是自定义的数据,即原始文本。