#17. 实现字符串的split方法
def split(s,split_str=None,times=None):
if split_str == None:
split_str = " "
if times == None:
times = s.count(split_str) #总共要切的次数
index = 0 #记录遍历字符的位置
split_str_length = len(split_str) #要切字符串的长度
result = []
while times > 0:
temp = ""
for i in range(index,len(s)):
if s[i:i+split_str_length] != split_str: #字符串开始加上分割长度不等于分隔符
temp += s[i]
index += 1
else:
index += split_str_length #碰到分割字符串时+split_str_length
break
result.append(temp)
#print('result1',result)
times -= 1
result.append(s[index:])#列表中最后一位元素
#print('result',result)
return result
print(split("a1*b*c*d","*"))
print(split("a1*b*c*d","*",2))
print(split("a1 b c d"))
print(split("a1**b**c**d","**"))
#18. 实现字符串的strip方法
def strip(s,strip_str=None):
if strip_str == None:
strip_str='\t\r\n\f '#要切的对象:空白
lst = list(s)
lst_copy = lst[:]
#从头开始遍历
for v in lst:
if v in strip_str:
lst_copy.remove(v)#v在strip_str中就移除
else:
break
#从最后开始遍历
for v in lst[::-1]:
if v in strip_str:
lst_copy.remove(v)
else:
break
return "".join(lst_copy)
print(strip(" \t\r\n\fabc\t\r\n\f"))
print(strip("####**abc########*","#*"))
python练习2020/07/20
最新推荐文章于 2024-10-05 08:57:27 发布