2024-04-28 02:13:38 发布
网友
给定一个字符串text和一个适当的子字符串query。如何删除除第一个查询外的所有查询?你知道吗
text
query
示例:
text = 'cccsumoxxxsumoppqqsumovvvvsumo' query = 'sumo' result: 'cccsumoxxxppqqvvvv'
请注意,replace()可以指定最大计数,因此您可以使用一些技巧来利用它:
replace()
text[::-1].replace(query[::-1], '', text.count(query)-1)[::-1]
更简单的方法是:
''.join(text.rsplit(query, text.count(query) - 1))
这种反向拆分text找到query的地方(从而删除它),除了最后出现的地方(因此-1),然后连接所有拆分的片段。你知道吗
-1
我会用str.partition:
str.partition
def f(text, qry): pre, sep, suf = text.partition(qry) return pre + sep + suf.replace(qry, '')
这将透明地处理查询字符串可能存在或不存在的情况,并对字符串进行最低限度的必要处理(不计算查询字符串或切片等)
请注意,
replace()
可以指定最大计数,因此您可以使用一些技巧来利用它:更简单的方法是:
这种反向拆分
text
找到query
的地方(从而删除它),除了最后出现的地方(因此-1
),然后连接所有拆分的片段。你知道吗我会用
str.partition
:这将透明地处理查询字符串可能存在或不存在的情况,并对字符串进行最低限度的必要处理(不计算查询字符串或切片等)
相关问题 更多 >
编程相关推荐