如何在python中的2个字符串之间找到最长的公共结尾

时间:2018-11-15 20:59:42

标签: python string python-3.x

我正在尝试查找允许在两个字符串之间找到公共结尾的代码,例如:

s1 = 'running'

s2 = 'ruminating' 

,输出结果为:

'ing'

它必须专门用于字符串的结尾,但是我不确定如何执行此操作

2 个答案:

答案 0 :(得分:1)

stdlib已经具有commonprefix

>>> strings = ['running', 'ruminating']
>>> from os.path import commonprefix
>>> commonprefix(strings)
'ru'

它很容易满足您的需求:

>>> commonprefix([s[::-1] for s in strings])[::-1]
'ing'

答案 1 :(得分:0)

您可以编写函数并进行迭代:

s1 = 'running'
s2 = 'ruminating'

def get_common(s1, s2):
    L = []
    for i, j in zip(s1[::-1], s2[::-1]):
        if i != j:
            break
        L.append(i)
    return ''.join(L[::-1])

common = get_common(s1, s2)  # ing