我有一个结构如下的字符串:
"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'
