编写一个程序来检查一个字符串的后缀与另一个字符串的前缀是否重叠 [英] Write a program to check the overlapping of one string's suffix with the prefix of another string
本文介绍了编写一个程序来检查一个字符串的后缀与另一个字符串的前缀是否重叠的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
a = input()
b = input()
def longestSubstringFinder(string1, string2):
answer = ""
len1, len2 = len(string1), len(string2)
for i in range(len1):
match = ""
for j in range(len2):
if (i + j < len1 and string1[i + j] == string2[j]):
match += string2[j]
else:
if (len(match) > len(answer)): answer = match
match = ""
if answer == '':
return 'No overlapping'
else:
return answer
print(longestSubstringFinder(a, b))
在上面的代码中,没有获得输入的预期结果
对,是这样
错误
我的输出:e
预期输出:无重叠
RegEX
使用推荐答案,您可以使用较少的代码行完成此操作。我猜你是Python的初学者。如果是,请学习RegEx并列出对此类代码的理解。
import re
str1, str2 = input(), input()
def longestSubstringFinder(string1, string2):
list_of_subsets = [str1.replace(str1[:i], '') for i in range(len(str1))]
intersect = [re.search('^'+slc, str2).group() for slc in list_of_subsets if re.search('^'+slc, str2)]
if len(intersect) == 0:
return 'No overlapping'
else:
return intersect[0]
print(longestSubstringFinder(str1, str2))
这篇关于编写一个程序来检查一个字符串的后缀与另一个字符串的前缀是否重叠的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文