在 Python 中的 line.startswith() 函数中跳过空格



如何通过跳过空格来搜索以"xyz"开头的行? 原始字符串是 "xyz" 通过使用 line.startswith((

str.startswith不跳过空格。 您可以使用像r"^s*xyz"这样的正则表达式 (RE(,但由于加载和运行 RE 引擎的开销,这不值得。您不妨创建一个没有前导空格的临时字符串对象。 它不必命名,而是像这样使用:

original.lstrip().startswith('xyz')

临时字符串对象将立即成为垃圾回收的候选项。

您可以使用正则表达式搜索以"xyz"开头的行,即使它们在"xyz"之前可能有也可能没有空格,方法是使用 -^s*xyz

^- 查找行的开头

s*- 匹配 0 - 任意数量的空格字符

xyz- 您有兴趣匹配的术语。

要获得整行,您可以使用^s*xyz.*?$来匹配整行

这里.*?是对任何字符的非贪婪搜索,而$是行的尽头

相关内容

最新更新