如果一行和其后面的一行以相同的模式开头,如何不打印该行?

bluesky1年前 ⋅ 94 阅读

ChatGPT的回答仅作参考:

可以使用正则表达式来匹配相同的模式,并在打印前进行判断。如果当前行和下一行以相同的模式开头,则跳过当前行,直接读取下一行。以下是一个示例代码:

```python
import re

with open('file.txt', 'r') as f:
    lines = f.readlines()
    for i in range(len(lines)-1):
        if re.match(r'^\w+', lines[i]) == re.match(r'^\w+', lines[i+1]):
            continue
        print(lines[i])
    print(lines[-1])  # 打印最后一行
```

在上面的代码中,`re.match(r'^\w+', lines[i])`用于匹配每行的开头模式,如果当前行和下一行的开头模式相同,则跳过当前行,直接读取下一行。否则,打印当前行。最后,打印最后一行。

全部评论: 0

    相关推荐