python - 在 python 中查找子字符串

标签 python string loops

<分区>

我是 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

关于python - 在 python 中查找子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18937562/

相关文章:

python - 全局名称 'getYearlyCost2' 未定义

java - GUI 在 Java 的 While 循环期间卡住

无法识别 CURL apache 模块中的自定义 header

python - 理解 python for 循环中的范围

python - 如何获得 Tkinter 入口?

Java - 生成长度为x的字符串

java - 如何计算字符串中字符组成的回文数?

python - 为什么在 Python 3.x 中的循环中使用 list() 会返回内存错误?

python - 如何在 python flask 的 web 应用程序中定义权限集?

python - 在 python 字符串替换中使用星号字符 (*) 作为 clown ?