如何创建一个前缀为2给定字符串的新字符串?

时间:2015-03-23 01:00:48

标签: string python-3.x

得到两个单词的公共前缀的长度,即“global”和“glossary”的公共前缀是“glo”(长度3)

a= input("Enter string: ")
b= input("Enter string: ")
count=0
c=a.startswith(b)
while count<=c:
    if c:
        count=count+1
print(count)

我不确定如何获得公共前缀的长度

2 个答案:

答案 0 :(得分:2)

你可以这样做:

def pre(s1, s2):
    if any(bool(s.strip())==False for s in (s1, s2)):
        return 0

    for i, (c1, c2) in enumerate(zip(s1, s2)):
        if c1!=c2:
            return i

    return i+1        

测试:

>>> pre("global", "glossary")
3
>>> pre("global", "global")
6
>>> pre("global", "")
0

答案 1 :(得分:0)

你可以“作弊”(因为 - 它不是意味着的使用方式,但是很好)并使用os.path.commonprefix通过字符比较对所有元素进行char通过,例如:

from os.path import commonprefix

a = 'global'
b = 'glossary'
length = len(commonprefix([a, b]))
# 3