python之简单自定义split函数(不用内置split函数)

'''
自己写一个split函数,不许使用内置的split函数
dellimeter为多个字符
# def split(string:str,dellimeter:str):
#     pass


例如:   被分割字符串             分割字符串
     'defcvwe   fcfe   fcefe dqw'     'fc'


思路:
可以先把分割的字符串替换为一个字符‘!’,再把字符串分割开,分隔开的部分,放在一个列表的不同字符串里

'''








# 自定义函数split结果为:   ['de', 'vwe   ', 'fe   ', 'efe dqw']
# 注意:本次自定义split函数里,被分割的字符串里不能出现!字符,否则会出错
def split(str1,str2):                 #定义形参:   将被分割的字符串 , 分割字符串
    str3=str1
    str3=str3.replace(str2,'!')  # 将分割字符串'fc'替换为'!'      ,结果为'de!vwe   !fe   !efe dqw'
    list1=[]           #定义一个空列表
    for j in range(len(str1)):   #在空列表里添加len(str1)个 '' 字符串  ,初始化成功
        list1.append('')

    count=0
    for i in str3:
        if i=='!':
            count+=1           #当遇到’!‘ 时候元素接下来添加在后面一个''字符串里
            continue           #跳出本次循环,本次的'!'不加
        else:
            list1[count]+=i    #不是'!'元素就加在列表的字符串里
    list2=[]                   #初始化一个空列表list2
    for k in list1:
        if k is '':            #当遇到''时就结束,说明截取了list1的有值的部分
            break
        else:
            list2.append(k)
    print(list2)

split('defcvwe   fcfe   fcefe dqw','fc')





#使用内置函数split结果是:     ['de', 'vwe   ', 'fe   ', 'efe dqw']
# a='defcvwe   fcfe   fcefe dqw'
# b=a.split('fc')
# print(b)

猜你喜欢

转载自blog.csdn.net/sui_yi123/article/details/82024852