Skip to main content
 首页 » 编程设计

python之如何按制表符拆分字符串但每次只出现一次

2025年05月04日46xxx_UU

我有一个结构如下的字符串:

"I\thave\ta\t\tstring" 

为了按标签拆分,我使用了这种方法:

text = [splits for splits in row.split("\t") if splits is not ""] 

现在这个方法从字符串中删除所有制表符,但我希望它只删除单词后第一次出现的制表符,所以它最终会像这样:

"Ihavea\tstring" 

有没有办法做到这一点?

请您参考如下方法:

使用 re.split断言背后的负面看法应该做:

import re 
 
s = ''.join(re.split(r'(?<!\t)\t', row)) 
print(s) 
# 'Ihavea\tstring' 

断言 (?<!\t)防止在 \t 上 split 之前是另一个 \t .

您可以使用 re.sub如果您实际上不需要拆分中的项目:

s = re.sub(r'(?<!\t)\t', '', row) 
print(s) 
# 'Ihavea\tstring'