[英]auto-indent python string and write in an HTML file
我在python中有一個字符串,必須將其寫入HTML文件。 Python中是否有接受字符串的例程,例如
"( Root ( AB ( ABC ) ( CBA ) ) ( CD ( CDE ) ( FGH ) ) )"
。
並將其以縮進形式寫入HTML文件?
(Root
(AB
(ABC)
(CBA)
)
(CD
(CDE)
(FGH)
)
)
這是一個可以粗略組合使用的解決方案
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>
您應該了解為什么人們不那么樂於回答這個問題。 您正在進入解析部門,但忽略了它的復雜性。 為了正確地實現您的目標,您需要一個原始格式的已定義語法,然后您需要根據該語法進行解析。 然后需要將生成的內部結構(即解析樹/語法樹)格式化為所需的形式。
我的建議是使用完善的標准(例如json)來表示您的數據,而不是使用自定義標准(即原始文本)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.