【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")

 

posted @ 2015-07-12 14:09  WenLe  阅读(576)  评论(0)    收藏  举报