从字符串中删除可变长度的子字符串

时间:2014-07-17 14:47:36

标签: python list

我有一个字符串列表,其中所有字符串大致遵循'foo \ tbar \ tfoo \ n'格式,因为有三个可变长度的段由两个制表符(\ t)和换行符分隔最后的指标(\ n)。

我想删除除第一个\之前的文本之外的所有内容,以便它将返回为'foo'。鉴于第一段的长度可变,我不知道如何做到这一点。

3 个答案:

答案 0 :(得分:1)

使用str.split()

>>> string = 'foo\tbar\tfoo\n'
>>> string.split('\t', 1)[0]
'foo'

这会在第一次出现'\ t'制表符时将字符串拆分,该字符将返回包含两个元素的列表。 [0]选择列表中的第一个元素,它是第一个'\ t'出现之前字符串的一部分。

答案 1 :(得分:0)

只需搜索第一个\t字符,然后获取所有内容。切片使这很容易。

newstr = oldstr[:oldstr.find("\t")]

答案 2 :(得分:0)

尝试:

t = 'foo\tbar\tfoo\n'
t[:t.index("\t")]