Python - 删除字符串的前2行

GSh*_*ked 18 python string parsing file lines

我在这里搜索了许多线程,删除了字符串的前两行,但我似乎无法使用我尝试的每个解决方案.

这是我的字符串的样子:

version 1.00
6992
[-4.32063, -9.1198, -106.59][0.00064, 0.99993, -0.01210][etc...]
Run Code Online (Sandbox Code Playgroud)

我想为我正在使用的脚本删除此Roblox网格文件的前两行.我怎样才能做到这一点?

dst*_*eba 25

我不知道你的最终角色是什么,但是类似于什么

postString = inputString.split("\n",2)[2];
Run Code Online (Sandbox Code Playgroud)

最终角色可能需要被转义,但这就是我要开始的.


vks*_*vks 8

x="""version 1.00
6992
[-4.32063, -9.1198, -106.59][0.00064, 0.99993, -0.01210][etc...]
abc
asdda"""
print "\n".join(x.split("\n")[2:])
Run Code Online (Sandbox Code Playgroud)

你可以这么做.


lam*_*eta 7

''.join(x.splitlines(keepends=True)[2:])
Run Code Online (Sandbox Code Playgroud)

splitlines产生一个字符串列表。如果keepends=True给出,换行符将包含在结果列表中l''.join(l)并可用于重现原始字符串。


请注意,它splitlines适用于许多不同的线边界,例如\u2028

>>> x = 'a\u2028b\u2028c\u2028'
>>> ''.join(x.splitlines(keepends=True)[2:])
'c\u2028'
Run Code Online (Sandbox Code Playgroud)

whilesplit('\n')在这种情况下失败:

>>> x = 'a\u2028b\u2028c\u2028'
>>> x.split('\n',2)[2]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

另请注意,如果在空字符串或以换行符结尾的字符串上调用它们,splitlines则 和 的行为会有所不同。split('\n')比较以下示例(复制自 的文档splitlines):

>>> "".splitlines()
[]
>>> "One line\n".splitlines()
['One line']

>>> ''.split('\n')
['']
>>> 'Two lines\n'.split('\n')
['Two lines', '']
Run Code Online (Sandbox Code Playgroud)

但是,如果keepends=True给出,则保留尾随换行符:

>>> "One line\n".splitlines(keepends=True)
['One line\n']
Run Code Online (Sandbox Code Playgroud)

splitlines更多示例和行边界 的列表可以在这里找到:https: //docs.python.org/3/library/stdtypes.html ?highlight=split#str.splitlines