python去掉字符串重复字符_【python】【字符串】字符串首尾相连,去掉连接处的重复...

#coding: utf-8

#字符串从反向拆词

def string_depart(str1):

ls_str1 = []

str_tmp = ""

for str_t in reversed(str1):

str_tmp = str_t + str_tmp

ls_str1.append(str_tmp)

return ls_str1

#i.e. str1 = "abcdef" str2 = "defdefghi" ,return "abcdefghi"

def string_cut_pre_duplicate(str1,str2):

ls_str1 = string_depart(str1)

str2_tmp = str2

for str1_tmp in ls_str1:

str2_tmp = string_cut_pre_duplicate_2(str1_tmp,str2_tmp)

return str(str1) + str(str2_tmp)

#如果str2中,以str1开头,则去掉,如果str2中,有重复的str1开头,也去掉

def string_cut_pre_duplicate_2(str1,str2):

if str2 and str2.find(str1) == 0 :

return string_cut_pre_duplicate_2(str1,str2[len(str1):])

return str2

if __name__ == "__main__":

print string_cut_pre_duplicate("abcdef","defdefghi")

print string_cut_pre_duplicate("abc","defdefghi")

print string_cut_pre_duplicate("def","defdefghi")

print string_cut_pre_duplicate("abcdef","defdef")

print string_cut_pre_duplicate("","defdefghi")

print string_cut_pre_duplicate("abcdef","")

print string_cut_pre_duplicate("f","f")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值