kyr*_*nia 0 python regex python-2.7
我在python中有一个字符串,并希望删除重复的行(即当\n之间的文本相同时,然后删除第二个(第三个,第四个)出现,但保留字符串的顺序.例如
line1 \n line2 \n line3 \n line2 \n line2 \n line 4
Run Code Online (Sandbox Code Playgroud)
会回来:
line1 \n line2 \n line3 \n line 4
Run Code Online (Sandbox Code Playgroud)
我在stackoverflow上看到的其他示例处理在将文本文件读入python的阶段(例如,使用readline(),查看是否已经在一组读入行中,然后仅在它是唯一的时候添加到字符串).在我的实例中,这不起作用,因为我已经被加载到python中的字符串已被大量操作...并且它似乎非常拙劣,例如将整个字符串写入txt文件,然后逐行读取线寻找重复的线
对于Python 2.7+,这可以通过单行完成:
from collections import OrderedDict
test_string = "line1 \n line2 \n line3 \n line2 \n line2 \n line 4"
"\n".join(list(OrderedDict.fromkeys(test_string.split("\n"))))
Run Code Online (Sandbox Code Playgroud)
这给了我: 'line1 \n line2 \n line3 \n line 4'
| 归档时间: |
|
| 查看次数: |
2001 次 |
| 最近记录: |