You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何获取字符串中特定字符(如"a")的所有出现位置?

获取字符串中特定字符/子串的所有出现位置

如果你想找到字符串中某个特定字符(比如"a")或子串的所有出现位置,可以用以下几种实用方法:

方法一:循环使用find()方法

利用find()的第二个参数指定查找起始位置,循环查找直到找不到为止:

s = "abracadabra"
target = "a"
positions = []
start_pos = 0

while True:
    current_pos = s.find(target, start_pos)
    if current_pos == -1:
        break
    positions.append(current_pos)
    start_pos = current_pos + 1  # 从下一个位置开始继续查找

print(positions)  # 输出:[0, 3, 5, 7, 10]

这个方法不仅适用于单个字符,还能查找多字符子串的所有位置,比如把target改成"ab",就能找到所有"ab"的起始索引。

方法二:用enumerate()遍历字符串(适合单个字符)

直接遍历字符串的每个字符,记录符合条件的索引,写法更简洁:

s = "abracadabra"
target = "a"
positions = [idx for idx, char in enumerate(s) if char == target]

print(positions)  # 输出:[0, 3, 5, 7, 10]

这种方法代码更短,可读性强,但只适合查找单个字符的情况。

内容的提问来源于stack exchange,提问作者Martí Xuclà

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 18:20:38