一个 sdf 最终 字母 遇到 ear amp sdfs pen
一、需求:求包含数字或字母最长的字符串及长度
- org = ‘ss121*2222&sdfs2!aaabb‘
- result = [] #保存最终要输出的字符串
- result_temp = [] #保存当前最长的字符串
- max_len = 0 #保存最长字符串的长度
- for c in org + ‘ ‘: #多加一次循环,为了最后多执行一次else; 否则若字符串末尾满足条件,将不会保存到result中
- if c.isalnum(): #若c为数字或字母,则加入result_temp中
- result_temp.append(c)
- else: #直到遇到一个非数字和字母时,判断当前result_temp的长度
- len_temp = len(result_temp)
- if len_temp > max_len: #若大于当前最大长度,则清空result,把该字符串加入reseult中
- max_len = len_temp
- result.clear()
- result.append(‘‘.join(result_temp))
- elif len_temp == max_len: #若等于当前最大长度,说明存在两个长度一样的字符串,直接把该字符串加入result中
- result.append(‘‘.join(result_temp))
- result_temp = [] #遇到非数字和字母时,清空result_temp,继续下一次遍历
- if len(result) == 0:
- print(‘没有符合标准的字符串‘)
- else:
- print(‘符合要求的最长字符串的长度为: ‘, max_len)
- print(‘符合要求的最长字符串有: ‘, result)
Python求包含数字或字母最长的字符串及长度
来源: http://www.bubuko.com/infodetail-2357727.html