我正在为一系列字符串构建一个分析器。 我需要检查每行缩进了多少(通过制表符或空格)。
每一行只是文本编辑器中的一个字符串。 如何检查字符串的缩进量?
或者更确切地说,也许我可以检查字符串前有多少空格或\t,但我不确定该怎么做。
最佳答案
要计算字符串开头的空格数,您可以比较左侧剥离(删除空格)的字符串和原始字符串:
a = " indented string"
leading_spaces = len(a) - len(a.lstrip())
print(leading_spaces)
# >>> 4
制表符缩进是特定于上下文的...它会根据显示制表符的任何程序的设置而变化。这种方法只会告诉您空白字符的总数(每个制表符将被视为一个字符)。
或演示:
a = "\t\tindented string"
leading_spaces = len(a) - len(a.lstrip())
print(leading_spaces)
# >>> 2
编辑:
如果你想对整个文件执行此操作,你可能想尝试
with open("myfile.txt") as afile:
line_lengths = [len(line) - len(line.lstrip()) for line in afile]
关于python - 检查字符串缩进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13241399/