1. 實現字元串的split方法Python split() 通過指定分隔符對字元串進行切片,如果參數 num 有指定值,則分隔 num+1 個子字元串 思路同自定義實現replace方法類型: 1.先找出字元串中指定分隔字元的index,考慮可能出現多次的情況使用一個列表split_str_ind ...
1. 實現字元串的split方法
Python split() 通過指定分隔符對字元串進行切片,如果參數 num 有指定值,則分隔 num+1 個子字元串
思路同自定義實現replace方法類型:
1.先找出字元串中指定分隔字元的index,考慮可能出現多次的情況使用一個列表split_str_index存儲分隔字元的index
2.使用result列表存儲分隔後的字元串列表
3.當index不在split_str_index中的的時候拼接字元串,當index在split_str_index中的的時候的將已拼接的字元串append到result列表中,特別註意最後一定要判斷each判斷是否為空,來決定是否append一下
4.考慮分隔次數,使用count來統計分隔次數
def customize_split(s,split_str=' ',num=None):
result=[]
split_str_index=[]
for i in range(len(s)):
if s[i:i+len(split_str)]==split_str:
split_str_index.append(i)
#存儲split_str的index
if num==None:
each =''
j=0
while j<len(s):
if j in split_str_index:
result.append(each)
each = ''
j+=len(split_str)
else:
each +=s[j]
j+=1
if bool(each):
print(bool(each))
result.append(each)
else:
each =''
j=0
count =0
while j<len(s):
if count<num and j in split_str_index:
if bool(each):
print(bool(each))
result.append(each)
each = ''
j+=len(split_str)
count+=1
else:
each +=s[j]
j+=1
if bool(each):
result.append(each)
#最後一根據each是否為空決定是否要append一下,因為有可能else是最後執行也可能if是最後執行
return result
print(customize_split('abcacabcacac','c'))