我有一个字符串列表,其中所有字符串大致遵循'foo \ tbar \ tfoo \ n'格式,因为有三个可变长度的段由两个制表符(\ t)和换行符分隔最后的指标(\ n)。
我想删除除第一个\之前的文本之外的所有内容,以便它将返回为'foo'。鉴于第一段的长度可变,我不知道如何做到这一点。
答案 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")]