Python 在字符出现后删除行的剩余部分
我有一个几千行的文本文件。我想做的是删除一行中第一个出现的“|”,以及随后该行中的所有内容。我对python相当陌生,不确定人们会怎么做。我想到了重新搜索,但我不知道如何只删除一行的一部分。看看这个:Python 在字符出现后删除行的剩余部分,python,python-2.7,Python,Python 2.7,我有一个几千行的文本文件。我想做的是删除一行中第一个出现的“|”,以及随后该行中的所有内容。我对python相当陌生,不确定人们会怎么做。我想到了重新搜索,但我不知道如何只删除一行的一部分。看看这个: >>> s = 'abc|123|xyz' >>> s 'abc|123|xyz' >>> s.split('|', 1)[0] 'abc' 或者,你也可以这样做 >>> s[s.index('|')+1:] '123|xy
>>> s = 'abc|123|xyz'
>>> s
'abc|123|xyz'
>>> s.split('|', 1)[0]
'abc'
或者,你也可以这样做
>>> s[s.index('|')+1:]
'123|xyz'
看起来第二种方法稍微快一点:
>>> from timeit import timeit as time
>>> time("s.split('|', 1)[0]", "s = 'abc|123|xyz'")
0.39399194717407227
>>> time("s[s.index('|')+1:]", "s = 'abc|123|xyz'")
0.2868010997772217
相关文档:
|
之后的所有内容吗?您应该将1
作为可选的第二个参数传递给split()
,这样,一旦找到第一个分隔符,它就不会麻烦寻找更多的分隔符。