📅  最后修改于: 2023-12-03 15:25:22.922000             🧑  作者: Mango
在Python中,有时需要在字符串中找到所有小写字母的出现位置或者提取所有小写字母。下面是几种实现这些任务的方法。
使用正则表达式需要先导入re模块。下面代码可以提取字符串中的所有小写字母。
import re
s = "Hello World"
result = re.findall(r'[a-z]', s)
print(result)
输出结果为: ['e', 'l', 'l', 'o', 'o', 'r', 'l', 'd']
字符串对象有一个islower()方法,用于判断字符串中的字符是否都是小写字符。使用字符串的join()方法和filter()函数可以过滤出所有小写字符。下面是示例代码:
s = "Hello World"
result = ''.join(filter(str.islower, s))
print(result)
输出结果为: elloorld
在正则表达式中,我们可以使用findall()方法获取一个字符串中所有匹配的子串的列表,此外,我们还可以使用另一个方法finditer()提取正则表达式匹配的子串在原字符串中的位置。下面代码可以提取字符串中小写字符的出现位置。
import re
s = "Hello World"
result = [m.start() for m in re.finditer(r'[a-z]', s)]
print(result)
输出结果为: [1, 2, 3, 4, 7, 10]
enumerate()函数结合for循环可以实现遍历字符串中的每个字符并记录其位置。下面是示例代码:
s = "Hello World"
result = [i for i, c in enumerate(s) if c.islower()]
print(result)
输出结果为: [1, 2, 3, 4, 7, 10]
Python中提取小写字符或者小写字符在原字符串中的位置,可以使用正则表达式或者字符串相应的方法,这些方法都比较简单易懂,同时Python自带的字符串相应的方法使得处理字符串的任务变得轻松易行。