如何删除字符串中的某一行

时间:2016-02-26 20:47:27

标签: python string

我找不到这个答案的相关信息真的很麻烦,到目前为止我有这个代码:

undefined

代码用于按字母顺序排序结果,并且只有三个最新结果。到目前为止,我已经让它能够在发现重复时说“是”,但是我希望有一个可以删除该行的代码(或者通常删除字符串中某些行的代码)

我试图弄清楚如何使用行号从字符串中删除一行(不是文件,因为原始字符串中有很多字符串传输)。经过十几次搜索,我的回答并不合适。

如果有人帮助我,代码可以删除字符串中的行,通过给出哪一行的数字,将会非常有用。注意:我无法下载第三方模块,抱歉,但它只有那些附带python的模块,预先下载...

任何人都可以帮助我,谢谢你,其他网页的链接也会有所帮助。

2 个答案:

答案 0 :(得分:1)

我会调用字符串内容;根据需要概括。由于字符串是不可变的,因此您必须重新构建字符串而不在中间选择行。设 n 为您要删除的行号。

front = content.split('\n', n-1)          # Split just before the doomed line.
rear_pos = front[1].index('\n')           # Find the start of the next line.
content = front[0] + front[1][rear_pos:]  # Rejoin without the deleted line.

答案 1 :(得分:0)

我找到了另一种方法来执行此过程,通过将字符串传输到列表中,然后您可以搜索并删除不需要的行,然后将列表转换回字符串。

test5 = list (StringIO(test4))

del test5[1] # the number 1 can be replaced by a string.


try:
    test4 = ''.join(test5)

except AttributeError:
    import string
    test5 = string.join(a,'')
    test5 = test4

唯一的问题是,在使用它时,我的字符串会以某种方式重新排列,这意味着它可能需要处理。