📜  Python – 获取给定字符串中大写字符的索引(1)

📅  最后修改于: 2023-12-03 14:46:11.406000             🧑  作者: Mango

Python – 获取给定字符串中大写字符的索引

在字符串处理中,有时候需要找到一个字符串中大写字符的位置,然后进行相应的操作。本篇文章将介绍如何利用 Python 获取给定字符串中大写字符的索引。

方法一: 使用 enumerate() 和 isupper()

我们可以使用 Python 的内置函数 enumerate() 遍历一个字符串,并使用 isupper() 方法判断哪些字符是大写字符。接着将它们的索引放入列表中返回。

def get_upper_indices(s):
    return [i for i, c in enumerate(s) if c.isupper()]

这个函数返回一个由大写字符索引组成的列表。

方法二: 使用 for 循环和 isupper()

我们也可以使用一个简单的 for 循环遍历字符串,检查每个字符是否为大写字符。

def get_upper_indices(s):
    result = []
    for i in range(len(s)):
        if s[i].isupper():
            result.append(i)
    return result

这种方法与第一种方法相似,但使用了显式的 for 循环而不是 Python 内置的“美妙性”。

方法三: 使用 re 模块

如果您习惯使用正则表达式,那么 Python 的 re 模块可以非常有用。使用正则表达式可以更灵活地处理字符串。

import re

def get_upper_indices(s):
    pattern = "[A-Z]"
    return [m.start() for m in re.finditer(pattern, s)]

这个函数使用 re 模块的 finditer() 方法查找字符串中所有匹配某个模式的子串。我们使用了一个简单的正则表达式来匹配大写字符。通过查找结果,我们返回每个匹配的子串的起始位置。

以上是三种从字符串中获取大写字符索引的方法。您可以根据自己的需要选择适合自己的方法来处理字符串。