我是 python 的新手,我正在尝试不同的方法来完成相同的任务,现在我正在尝试弄清楚如何使用 for 循环
和一个 while 循环
。我很快发现使用 regex
可以轻松完成这项任务。例如,如果我有一个字符串:“ABCDEFGHIJKLMNOP”,并且我想查找“CDE”是否存在,然后打印出“CDE”+ 字符串的其余部分,我将如何使用循环来做到这一点?现在我正在使用:
for i, c in enumerate(myString):
它返回每个索引和字符,我觉得这是一个开始,但我不知道之后该做什么。我也知道有很多内置函数可以通过执行以下操作来查找子字符串:myString.(Function) 但我仍然想知道是否可以使用循环来执行此操作。
给定:
s = 'ABCDEFGHIJKLMNOP'
targets = 'CDE','XYZ','JKL'
有循环:
for t in targets:
for i in range(len(s) - len(t) + 1):
for j in range(len(t)):
if s[i + j] != t[j]:
break
else:
print(s[i:])
break
else:
print(t,'does not exist')
Python 方式:
for t in targets:
i = s.find(t)
if i != -1:
print(s[i:])
else:
print(t,'does not exist')
输出(两种情况下):
CDEFGHIJKLMNOP
XYZ does not exist
JKLMNOP