python实现查找字符串最长相连子串

找到字符串中最长子串‘
$sd1#111$svda123!!!221&eSSDSDG
找到字母相连的最长子串
思路:
1、遍历字符串,非字母的用‘.’替换,将遍历的数据直接放到list中

2、在将list使用join连接成字符串

3、在使用‘.’分割成list

4、(可以去掉空串)使用filter,或者使用while ‘’ in  list: list.remove('')

5、使用len计算子串,放到list中,

6、计算使用max计算list中最大的值,用index计算该值对应的索引,

7、成功找到该索引的子串

#coding=utf-8

def findSonString():
    s = '$sd1#111$svda123!!!221&eSSDSDG'
    ls = []

    for i in range(len(s)):
        if s[i].isalpha():
            ls.append(s[i])
        else:
            ls.append('.')
    #将字符串的列表连接成字符串,使用join,将list转成string型
    tempStr = ''.join(ls)
    #将string 类型转成list
    tempLs = tempStr.split('.')
    #list中过滤空字符串
    #filter(None, tempLs)
    print tempLs
    #存放每个子串的长度
    tempLen = []
    for i in tempLs:
        tempLen.append(len(i))
    oString = tempLs[tempLen.index(max(tempLen))]
    print oString
    print max(tempLen)



if __name__=='__main__':
    findSonString()

你可能感兴趣的:(python实现查找字符串最长相连子串)