如何解决查找子字符串是否包含在字符串中
我想知道是否有一种直接的方法可以知道给定的子字符串是否存在于一个字符串中严格 中间(即)不是开始而不是结束,但是字符串中包含的某处。
substring = "trees"
input1 = "sketchthetreesanddaffodils"
input2 = "treesaregreen"
input3 = "greentrees"
input4 = "greentreesareoftengreenertrees"
output1 = True
output2 = False # 'trees' appearing at the beginning though
output3 = False # 'trees' appearing at the end though
output4 = True # 'trees' appear in middle,regardless of the one in the end
预期操作
str.containsinmiddle()
#Something similar to str.startswith(),str.endswith()
解决方法
这样就可以了。找到子字符串,并确保它不在位置 0 或末尾:
for test in (input1,input2,input3,input4):
position = test.find(substring)
if position >= 1 and position < len(test)-len(substring):
print( True )
else:
print( False )
跟进
我刚刚意识到如果在开头和中间都找到字符串(如“treesaregreentreesare”),这将失败。这以不同的方式解决了这个问题:
for test in (input1,input4):
if substring in test[1:-1]:
print( True )
else:
print( False )
只需去掉第一个和最后一个字母。这将破坏和开始/结束比赛。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。